ASP.NET MVC授权属性不起作用

时间:2016-11-20 22:59:14

标签: asp.net-mvc membershipreboot

在我的FilterConfig中,我定义了一个全局授权属性。通过这样做,我禁止默认匿名访问所有控制器 - 这样用户就需要登录。

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new RedirectToHomeOnCryptographicExceptionAttribute());
        filters.Add(new System.Web.Mvc.AuthorizeAttribute());
    }
}

然后我有我的控制器类。我希望将一种方法限制为具有Admin。

角色的用户
public class FilesController : Controller
{
        [Authorize(Roles="Admin")]
        public ActionResult TestAccess()
        {
            if (!User.IsInRole("Admin"))
                return Content("Authorization not working as expected");

            return Content("hello");
        }
}

当我现在使用非管理员用户登录并打开/ Files / TestAccess时,我得到"授权未按预期工作"。这很奇怪,我原本希望方法的[授权(...)]只允许管理员。

如何阻止非管理员访问我的控制器操作?

我使用Brock Allen的MembershipReboot进行登录和用户管理。

0 个答案:

没有答案