0

AuthorizeAttribute在我的 MVC3 应用程序中使用派生自全局授权的类。我将它用作全局过滤器filters.Add(new CtsAuthorizeAttribute());

现在我已经实现了一个自定义角色提供程序,并希望开始在控制器上放置更具体的授权过滤器,如下所示:

[CtsAuthorize(Roles = "systemadmin")]
public class CompanyController : CtsController

对于基于角色的授权失败,我想重定向到消息页面(理想情况下只是修改失败页面的模型属性),但保留默认重定向到登录页面以解决基于登录的失败。如何在下面的覆盖中确定授权失败的原因?

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
    base.HandleUnauthorizedRequest(filterContext);
}

我可以复制“角色中的用户”检查,但它只是由这个过滤器执行的。我只是不知道如何从过滤器中学习这一点。

4

1 回答 1

0

您可以通过提供的上下文参数检查用户是否经过身份验证;然后可以在本地确定角色。

于 2012-04-20T14:42:56.853 回答