我使用Authorize()
属性来保护我的控制器/操作,并希望仅向未经身份验证的用户显示登录操作 - 或者换句话说,拒绝访问经过身份验证的用户。MVC授权属性拒绝
我一直没能找到网络处理要么拒绝许可或允许负权限(即!的loggedIn)
可有人请点我在正确的方向上的东西吗?
MVC2,.NET 4中
编辑:要clairfy,我想是这样的:
Public Class PublicController
Inherits ControllerBase
<Authorize()> 'Only logged-in users can logout
Public Function Logout() as ActionResult
Return View()
End Function
'Something here to indicate that only NON-authorized users should see this action
Public Function Login() as ActionResult
Return View()
End Function
End Class
目前还不清楚你的问题是什么。您使用'[Authorize]'装饰的任何控制器/操作方法将默认限制为已通过身份验证的用户。换句话说,如果你没有登录,你将无法执行这些控制器/操作。你还想要限制/允许什么? – RPM1984 2010-10-25 02:15:21
这里只是猜测,Basiclife;你的意思是说,如果某人已经登录了,但只是没有以角色/用户名的Authorize()版本的适当角色,那么你希望除了它们之外的东西被定向到登录页面? – 2010-10-25 02:22:32
如果Andrew的正确,在谷歌与“MVC授权”的快速搜索产量如下所示:http://davidhayden.com/blog/dave/archive/2009/04/09/CustomAuthorizationASPNETMVCFrameworkAuthorizeAttribute.aspx – xandy 2010-10-25 02:32:25