مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل با مدت زمان session کاربر

یکشنبه, 30 دی 1397 19:32

مشکل با مدت زمان session کاربر

با عرض سلام و خسته نباشی
یک سایتی دارم که درآن کاربر لاگین میکند تا مدت 5 دقیقه فقط میتواند در حساب کاربری خود به ماند البته اجرای این پروژه در iis ویندوز مشکلی ندارد ولی بر روی سرور این مشکل به وجود امده کد هایی رو که نوشتم ضمیمه کردم آیا کدی رو جای بدی گذاشتم؟ یا چیزی باید اضافه شود؟ ممنون میشم راهنمایی کنید

1- وب کانفیک
<configuration>  
  <configSections>    
    <sectionGroup name="applicationSettings"
      type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="Mashin2.Properties.Settings"
        type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    </sectionGroup>
  </configSections>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
    <httpRuntime enableVersionHeader="false"/>
  </system.web>       
  <system.webServer>   
    <handlers>
      <add name="CaptchaImage" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>      
    </handlers>
  </system.webServer>
  <system.webServer>
    <directoryBrowse enabled="true" />
<modules runAllManagedModulesForAllRequests="true" />
     </system.webServer>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>
  <system.web>
    <authentication mode="Forms">
      <forms name=".RememberMeee" loginUrl="~/Login" timeout="40000" protection="All" slidingExpiration="true " defaultUrl="~/Login"/>
    </authentication>
    <roleManager enabled="true" defaultProvider="MyRoleProvider">
      <providers>
        <clear/>
        <add name="MyRoleProvider" type="Mashin2.MyRoleProvider"/>
      </providers>
    </roleManager>    
  </system.web>

2- لاگین

if (Page.IsValid)
            {
                FormsAuthentication.SetAuthCookie(txtUsername.Text, chbRemember.Checked);
                if (Roles.GetRolesForUser(txtUsername.Text)[0] == "Karbar")
                {
                    Response.Redirect(String.Format("~/panel2" + idURL));
                }
                if (Roles.GetRolesForUser(txtUsername.Text)[0] == "modir")
                {
                    Response.Redirect(String.Format("~/panel1" + idURL));
                }   
            }

3- کلاس که نوشتم

 public override string[] GetRolesForUser(string username)
        {
            try
            {
                SqlConnection connection = new SqlConnection(dblayer.con);
                SqlDataReader reader;
                connection.Open();
                string MyQuery = "SELECT RoleName FROM UserTable INNER JOIN T_Roles ON" +
                    " UserTable.UserName=@Username AND UserTable.RoleID_FK = T_Roles.RoleID";
                SqlCommand cmd = new SqlCommand(MyQuery, connection);
                cmd.Parameters.AddWithValue("UserName", username);
                reader = cmd.ExecuteReader();
                reader.Read();
                string[] result = new string[1];
                result[0] = reader["RoleName"].ToString();
                reader.Close();
                connection.Close();
                return result;
            }
            catch(Exception)
            {
                return null;
            }
        }


دوشنبه, 01 بهمن 1397 09:44

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید