为什么“授权”中的“角色”属性不起作用(MVC4 Razor)?

时间:2019-12-13 20:37:30

标签: c# asp.net-mvc-4 razor

我已经添加了我为此所需的一切,但是仍然无法正常工作 (首次使用身份验证)

这是我的代码:

  

控制器

  [Authorize(Roles = "Admin")]
    public class AdminController : Controller
    {
     //Codes in the controller

}

  

MyRoleProvider

  public override string[] GetRolesForUser(string username)
        {
         var result=adminService.LoginData();//which has Role,and other datas
         string a=result.Where(x=>x.UserName==username).FirstOrDefault().Role;
         string[] output={a};
         return output;

        }
  

Web.Config

<roleManager enabled="true" defaultProvider="MyProvider">
  <providers>
    <clear/>
    <add name="MyProvider" type="bombays.MyRoleProvider"/>
      </providers>
    </roleManager>

这样登录

 public ActionResult Login(Login log)
        {
            var p = adminService.adminLogin(log);

            if (p.UserName == log.UserName && p.Password == log.Password)
            {
                Session["adminusername"] = p.UserName;
                Session["adminname"]=p.name;
            }
            return View("AdminHome");
        }

我检查了很多例子,但没有什么能救我。 现在发生了什么事;任何用户都可以查看该页面。它甚至没有调用 GetRolesForUser 函数(尝试过断点)

0 个答案:

没有答案
相关问题