Sam*_*tar 4 asp.net-mvc asp.net-mvc-3
我有以下内容:
[Authorize(Roles = "admin")]
Run Code Online (Sandbox Code Playgroud)
我正在为我的控制器上的每个动作设置它.但是有一些方法我可以全局为控制器做这个吗?
[Authorize(Roles = "admin")]
public class AdminController : Controller
{
}
Run Code Online (Sandbox Code Playgroud)
该属性也适用于控制器.
您甚至可以创建一个基本控制器并在其上设置属性(因此在所有派生控制器上获得相同的授权)
[Authorize(Roles = "user")]
public class BaseController : Controller
{
}
public class NewsController : BaseController
{
}
public class ForumController : BaseController
{
[HttpPost, Authorize(Roles="admin")]
public ActionResult Delete(int id)
{
}
}
Run Code Online (Sandbox Code Playgroud)
更新
第一个问题:您可以放入[HandleError]
基本控制器以在所有控制器中获取MVC的错误处理.我刚刚写了一篇描述它的博客文章.
第二个问题:是的.将最具体的[Authorize]
属性放在操作上.(例如,在基本控制器中授权"users",在Edit操作上授予"admins").
归档时间: |
|
查看次数: |
323 次 |
最近记录: |