PDA

View Full Version : نحوه دسترسی به صفحات



amir_T_2008
شنبه 15 آذر 1393, 21:19 عصر
سلام دوستان

من قبلا برای دسترسی صفحات از خود vs در قسمت webconfig دسترسی به صفحات برای رولهای مختلف استفاده میکردم اما الان برای کار جدید نمیتونم از همون سیستم سابق استفاده کنم و مجبورم که خودم صفحه ثبت نام و ... درست کنم و در جدول یوزرها که ساختم یک فیلد به نام type طراحی کردم که کاربر در هنگام ثبت نام رول user میگیره و در جدول هم درج میشه اما حالا مشکل اینجاست که دیگه نمیتونم از همون سیستم webconfig و تعیین سطح دسترسی استفاده کنم .
سوالم این هست چطور میشه حالا صفحاتی که نمیخوام کاربر ببینه رو به این شکل که بیاد از جدول رول کاربر چک کنه و اونوقت دسترسی بده.دنبال یک راه هستم که نیاز نباشه برای همه صفحات کد نوشته بشه و بشه فولدر به فولدر چک بشه و بست؟

ممنون میشم کمک کنید

amir_T_2008
یک شنبه 16 آذر 1393, 16:48 عصر
دوست هيچ كس هيچ راحلي نداره؟؟؟؟؟؟ واقعا توي حل اين مشكل موندم

Davidd
یک شنبه 16 آذر 1393, 16:58 عصر
شايد اين لينك بهت ايده بده. استفاده از Master Page براي اينكه در هر صفحه لازم نباشه كد بنويسي
http://www.how2learnasp.net/article.aspx?code=85c9dd50-0935-48c2-9039-949da6b42f8d

amir_T_2008
یک شنبه 16 آذر 1393, 19:04 عصر
راستش نتونستم ازش استفاده کنم و لطفا یک آموزش دیگه قرار بدید

ممنونم

amir_T_2008
یک شنبه 16 آذر 1393, 19:18 عصر
من از کد زیر دارم استفاده میکنم ولی دوتا سوال دارم




protected void Page_Load(object sender, EventArgs e)
{
string MyPage = System.IO.Path.GetFileName(Request.Path).ToLower() ;

using (SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["dbarchitect"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("select * from tblusers where role=?", Con);
cmd.Parameters.AddWithValue("role", MyPage);
Con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
if (Page.User.Identity.IsAuthenticated)
{
if (!Page.User.IsInRole(dr["admin"].ToString()))
{
Response.Redirect("admin/default.aspx");
}
}
else
{
Response.Redirect("login.aspx");
}

}
Con.Close();
}

}



1- نمیدونم چرا قسمت زیر ارور میده
System.Data.SqlClient.SqlException: Incorrect syntax near '?'.



SqlDataReader dr = cmd.ExecuteReader();



سوال دوم : به نظر شما این کد جوابگوی مشکل من هست؟