gpt4 book ai didi

c# - 对 AuthorizeAttribute 进行异常(exception)处理

转载 作者:行者123 更新时间:2023-12-04 17:45:31 24 4
gpt4 key购买 nike

我有一个有很多 Action 的 Controller 。除了一项操作外,所有用户都应该只能访问某些用户:

[Authorize(Roles = "Admin")]
public class SecretsController : Controller
{
[Authorize]
public ActionResult Index()
{
return View(...);
}

...
}

[Authorize (Roles = null)]不起作用。方法属性将被忽略!我怎么能得到一个 Action 的异常(exception)?赞 AllowAnonymous允许它但对登录用户可见?

最佳答案

您可以使用 OverrideAuthorization属性就像我在下面的代码中所做的那样:

[Authorize(Roles = "Admin")]
public class SecretsController : Controller
{

[OverrideAuthorization]
[Authorize()]
public ActionResult Index()
{
return View(...);
}

...
}

[OverrideAuthorization] ASP.Net MVC5 附带的,你告诉你的 Index覆盖/忽略在 Controller 级别定义的授权规则的操作。

通过这样做,您在 SecretsController 中定义的所有操作仅对 可见管理员 角色除外 Index操作仅对经过身份验证的用户可见,即使他们不在 管理员 角色。

关于c# - 对 AuthorizeAttribute 进行异常(exception)处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35685147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com