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

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

کاربر سایت

mostafashiri

عضویت از 1394/09/11

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

  • یکشنبه 30 دی 1397
  • 19:32
تشکر میکنم

با عرض سلام و خسته نباشی
یک سایتی دارم که درآن کاربر لاگین میکند تا مدت 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;
            }
        }


پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 1 بهمن 1397
  • 09:44

این لینک را بررسی کنید.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)