如何以有效的方式限制区域?

我有一个带有管理面板的ASP.NET MVC 3站点(我们不都是这样吗?:) - 我已经使用我自己的解决方案来创建一个非常安全的登录系统。

现在,在管理控制器中的每个视图中,我需要检查用户是否已登录并具有适当的权限,因此每次我在每个视图上分别运行相同的验证和授权方法。

我怎样才能对所有对某个控制器的请求进行相同的检查? (我的意思是,所有的支票只有一次在一个地方)

(我也想要例外,所以我可以允许用户使用管理控制器内部和外部的登录页面)

谢谢!


在控制器上使用属性。 无论是标准的AuthorizeAttribute (看到这个)或写你自己的。


你正在寻找的是动作过滤器属性。 它们基本上是一个属性,您可以将其放置在控制器上,该控制器允许您拦截对控制器中每个操作方法的调用,因此可以完全满足安全性,因为您可以拒绝/接受请求:http://msdn.microsoft.com/zh-cn/我们/库/ system.web.mvc.actionfilterattribute.aspx


如果你想限制整个控制器而不是单独的动作,你可以像这样放置[Authorize]属性:

[Authorize]        
public class PageController : Controller
{ ... }
链接地址: http://www.djcxy.com/p/61845.html

上一篇: How to restrict areas in an efficient way?

下一篇: Interface naming in Java