2009-09-15 223 views
4

在ASP.NET MVC应用程序中,我希望某些控制器只能由授权用户访问。 AuthorizeAttribute对此很有效。但是,即使远程用户未经授权,我也希望这些控制器能够访问某些IP号码。我应该重写AuthorizeAttribute来提供此功能,还是有更好的解决方案?ASP.NET MVC:如何为用户或客户端IP授权?

回答

2

你的直觉是正确的 - 在这种情况下,扩展授权属性是最有意义的。

3

请记住,如果添加两个AuthorizeAttribute与用户和自己的ClientIPAuthorizeAttribute与客户端IP的,内部未授权用户指定的IP的仍然不会被允许...

这是因为个人AuthorizeAttribute小号不能互相沟通做逻辑OR。子类化是实现你想要的最简单和最干净的方式。