View Full Version : سوال: authorization    - خودن از دیتابیس برای محدود کردن دسترسی
  
explod_javad
دوشنبه 26 اسفند 1387, 21:20 عصر
در حالت عادی  برای دسترسی به صفحات ( authorization ) از فایل web.config استفاده میشه !
<location path="Admin">
    <system.web>
      <authorization>
        <allow roles="admin"/>
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
آیا میشه از دیتا بیس برای محددود کردن دسترسی به صفحات استفاده کرد ؟
tefos666
پنج شنبه 29 اسفند 1387, 15:36 عصر
دوست عزیز یه فیلد به اسم isadmin تو جدول کاربرانت تعریف کن موقع لوگین چک کن اگر isadmin برابر 1 بود اون کاربر admin هستش و بفرستش به صفحه مربوط به admin اگر نه که کاربر معمولی هستش با دستور ExecuteScalar میتونی ستون رو چک کنی 
protected void btnlogin_Click(object sender, EventArgs e)
    {
        
        String Cstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\database.mdf;Integrated Security=True;User Instance=True;";
        String Query = "Select [type] as tip from members where user_name = '" + username.Text + "' AND Password = '" + password.Text + "';";
        SqlConnection conn = new SqlConnection(Cstring);
        conn.Open();
        SqlCommand cmd = new SqlCommand(Query, conn);
        try
        {
            string tip = cmd.ExecuteScalar().ToString();
            if (tip == "admin")
            {
                // create cookies
              
           
              if (Remember == null)
               {
                Remember.Values.Add("userName", username.Text);
                Remember.Values.Add("Password", password.Text);
                Response.Cookies.Add(Remember);
                }
                    // create session 
                Session["admininfo"] = username.Text.ToLower().Trim();
                Server.Transfer("cpanel.aspx");
            }
            else if (tip == "user")
            {
                Session["userinfo"] = username.Text.ToLower().Trim();
                Server.Transfer("user_profile.aspx");
                lblerror.Visible = false;
                username.Text = "";
                password.Text = "";
            }
        }
        catch (Exception ex)
        {
            lblwelcome.Visible = false;
            lblerror.Visible = true;
            username.Text = "";
            password.Text = "";
            
        }
        conn.Close();
    }
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.