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-1403, Jelsoft Enterprises Ltd.