0
我一直在學習如何從一些教程實現CustomRoleProvider和管理,以實現兩個主要方法如下Implemeting CustomRoleProvider和使用在MVC3 asp.net
public override string[] GetRolesForUser(string userName)
{
string connectionString =
ConfigurationManager.ConnectionStrings["myDb"].ConnectionString;
DataContext context = new DataContext(connectionString);
Table<UserObj> usersTable = context.GetTable<UserObj>();
UserObj userObj = usersTable.SingleOrDefault(u => u.UserName == userName);
string roleId = userObj.UserRoleID;
if (roleId != null)
return roleId.Select(c => c.ToString()).ToArray();
else
return new string[] { };
}
public override bool IsUserInRole(string userName, string roleName)
{
string connectionString =
ConfigurationManager.ConnectionStrings["myDb"].ConnectionString;
DataContext context = new DataContext(connectionString);
Table<UserObj> usersTable = context.GetTable<UserObj>();
UserObj userObj = usersTable.SingleOrDefault(u => u.UserName == userName);
if (userObj != null)
{
string roleId = userObj.UserRoleID;
if (roleId.Equals(roleName))
return true;
}
return false;
}
然後,我添加的授權作用[授權(角色=「管理員」)]的控制器的索引方法,我只需要管理員訪問。當我試圖訪問該頁面時,它似乎進行限制確定,例如,如果我輸入網址:
http://localhost:60353/module
..它重定向我
http://localhost:60353/Account/LogOn?ReturnUrl=%2fmodule
然而,角色沒」似乎被檢查。
我在這裏做了什麼錯?