【发布时间】:2010-10-25 22:02:04
【问题描述】:
我正在使用Authorize() 属性来保护我的控制器/操作,并且只想向未经身份验证的用户显示登录操作 - 或者换句话说,拒绝经过身份验证的用户访问。
我在网上找不到任何关于拒绝许可或允许否定许可(即 !LoggedIn)的内容
有人可以指点我正确的方向吗?
MVC2、.Net 4
编辑:为了澄清,我想要这样的东西:
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]装饰的任何控制器/操作方法将仅限于经过身份验证的用户。换句话说,如果您没有登录,您将无法执行这些控制器/操作。您还想限制/允许什么? -
这里只是猜测,Basiclife;您的意思是,如果某人已经登录,但只是没有使用接受角色/用户名的 Authorize() 版本的适当角色,您希望将他们以外的其他内容定向到登录页面?
-
如果 Andrew 是正确的,在 google 中使用“mvc authorize”快速搜索会产生类似:davidhayden.com/blog/dave/archive/2009/04/09/…
-
对不起,我的错,我不清楚 - 我会编辑问题
-
我建议你看看创建一个自定义的 ActionMethodSelectorAttribute。如此处所述:stackoverflow.com/q/2383094/148403
标签: asp.net-mvc vb.net authorization