gpt4 book ai didi

asp.net-mvc - 有没有一种方法可以为 MVC Controller 中的每个操作设置 [Authorize(Roles = "admin")]

转载 作者:行者123 更新时间:2023-12-05 00:02:27 24 4
gpt4 key购买 nike

我有以下几点:

[Authorize(Roles = "admin")]

我正在为 Controller 上的每个操作设置它。但是,有什么方法可以为 Controller 全局执行此操作?

最佳答案

[Authorize(Roles = "admin")]
public class AdminController : Controller
{
}

该属性也适用于 Controller 。

您甚至可以创建一个基本 Controller 并在其上设置属性(从而在所有派生 Controller 上获得相同的授权)
[Authorize(Roles = "user")]
public class BaseController : Controller
{
}

public class NewsController : BaseController
{
}

public class ForumController : BaseController
{
[HttpPost, Authorize(Roles="admin")]
public ActionResult Delete(int id)
{
}
}

更新

第一个问题:您可以输入 [HandleError]在您的基本 Controller 中以在所有 Controller 中获取 MVC 的错误处理。我刚刚写了一个 blog entry描述它。

第二个问题:是的。把最具体的 [Authorize] Action 的属性。 (例如,在基本 Controller 中授权“用户”和“编辑”操作中的“管理员”)。

关于asp.net-mvc - 有没有一种方法可以为 MVC Controller 中的每个操作设置 [Authorize(Roles = "admin")],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050689/

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