我正在开发ASP .NET MVC 5 Web应用程序。我正在使用
[Authorize(Roles="administrator")]
public class MyController:Controller{}
有没有办法为控制器动态添加新的授权角色?例如,从数据库或类似的东西中检索此信息,如下所示
[Authorize(Roles=db.MyControllerRoles)]
public class MyController:Controller{}
答案 0 :(得分:5)
此角色配置是静态的。但是,没有什么可以阻止您编写自己的授权过滤器,您可以在其中执行任何操作。您需要实现接口IAuthorizationFilter
。
我在几个项目中做过这样的事情并且工作正常。