host3nter

مشکل در احراز هویت و مدیریت نقش ها در Asp

سلام خدمت اساتید محترم یه فولدر توی پروژم ساختم به اسم Administrator و صفحات مدیریت داخلش ...

موضوع مشکل در احراز هویت و مدیریت نقش ها در Asp,.

برنامه نویس, برنامه نویسی

تاريخ ارسال:2016/09/25

هاست سنتر سلام خدمت اساتید محترم یه فولدر توی پروژم ساختم به اسم Administrator و صفحات مدیریت داخلش هست دوتا جدول دیتا بیس به نام های Users , Roles دارم و در جدول دوتا نقش توی جدول Roles تعریف کردم به نام های Admin , Customer میخوام فقط اون یوزر هایی که نقش ادمین بهشون میدم به محض لاگین کردن هدایت بشن به صفحه مدیریت و یوزر های معمولی که Customer هستن به محض لاگین کردن برن به صفحه پروفایل. الان من اینطوری نوشتم کد ها رو این خطا ها رو میده لطفا راهنمایی کنید یا اگه روش ساده تری دارین بگید ممنون. این متود چک لاگین صفحه لاگین protected bool CheckLogin(string UserName, string Password) { string c = WebConfigurationManager.ConnectionStrings["DataBaseConnectionString"].ConnectionString; SqlConnection cn = new SqlConnection(c); string str = "select * from Users where UserName=@u and Password=@p"; SqlCommand cmd = new SqlCommand(str, cn); cmd.Parameters.AddWithValue("@u", txtUserName.Text); cmd.Parameters.AddWithValue("@p", txtPassword.Text); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count==1) { return true; } return false; } اینم کد رخداد کلیک دکمه لاگین protected void btnLogin_Click(object sender, EventArgs e) { if (Page.IsValid) { FormsAuthentication.SetAuthCookie(txtUserName.Text , chbRememberMe.Checked); if (Roles.GetRolesForUser(txtUserName.Text)[0]=="Admin") { Response.Redirect("~/Administrator/Manager.aspx"); } if (Roles.GetRolesForUser(txtUserName.Text)[0] == "Customer") { Response.Redirect("~/Default.aspx"); } } } اینم کدی که توی وب کانفیگ فولدر ادمین گداشتم <?xml version="1.0"?> <configuration> <system.web> <authorization> <allow roles="Admin"/> <deny users="*"/> </authorization> </system.web> </configuration> یه کلاس به اسم MyProv ساختم در متود GetRolesForUser کد زیر رو نوشتم public override string[] GetRolesForUser(string username) { SqlDataReader reader; SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrin gs["DataBase"].ToString()); connection.Open(); string MyQuery = "SELECT RoleName FROM Users INNER JOIN Roles ON" + " Users.UserName=@UserName AND Users.RoleId_FK=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(); return result; } حالا اگه یوزر پسورد اشتباه وارد کنم که خطای نادرست بودن پسورد میده ولی اگه درست وارد کنم این خطا رو میده Screenshot (47).jpg بعد در قسمت وب کانفیگ این کد رو اضافه کردم <roleManager enabled="true" defaultProvider="MyProv"> <providers> <clear/> <add name="MyProv" type="MyProv"/> </providers> </roleManager> حالا وقتی اجرا میکنم این خطا رو میده Screenshot (48).png اینم کل کد کلاس MyProvider من usingSystem;using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Security; /// <summary> /// Summary description for MyProv /// </summary> /// public class MyProv : RoleProvider { public MyProv() { // // TODO: Add constructor logic here // } public override string ApplicationName { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } public override void AddUsersToRoles(string[] usernames, string[] roleNames) { throw new NotImplementedException(); } public override void CreateRole(string roleName) { throw new NotImplementedException(); } public override bool DeleteRole(string roleName, bool throwOnPopulatedRole) { throw new NotImplementedException(); } public override string[] FindUsersInRole(string roleName, string usernameToMatch) { throw new NotImplementedException(); } public override string[] GetAllRoles() { ... هاست,دامین,سایت,وب,طراحی

برچسب ها :

مشکل, در, احراز, هویت, و, مدیریت, نقش, ها, در, Asp

مشکل در احراز هویت و مدیریت نقش ها در Asp

میزبانی وب ,هاست,فضای وب,ویندوز,لینوکس,دات نت,پی اچ پی,web hosting,windows host,linux host,asp.net,php,sql server,mysql میزبان پایتخت ارائه دهنده خدمات میزبانی وب، هاست و هاستینگ، میزبانی هاست، دامین، میزبانی نمایندگی، نمایندگی وب، سرور مجازی و سرور مجازی ابری می باشد.هاست,میزبانی وب,دامین,سرور مجازی,میزبان پایتخت,host,domain,vps,mizban paytakht,hosting,share hosting,میزبان وب,میزبانی هاست,هاستینگ

google