【发布时间】:2012-01-23 23:28:40
【问题描述】:
我的 MVC3 应用为用户提供了三种登录方式
- 电子邮件 + 别名
- OpenID 提供者
- 用户名+密码
前两个适用于没有帐户的访问者,允许他们对事物发表评论/投票;最后一个适用于拥有具有提升权限的数据库用户帐户的作者和管理员。因此,有两种登录表单 - 一种用于访问者,一种用于完全用户。
未经身份验证/未经授权的资源访问尝试作为标准重定向到登录页面。
问题:
如何有条件地将这些请求重定向到适当的位置?需要对完整用户登录表单具有作者/管理员权限的资源,以及仅需要对访问者登录表单具有访问权限的资源?
另外,在 AJAX 或部分视图调用的情况下,我是否可以避免重定向?例如,我想将 cmets 部分视图嵌入到我的条目视图中,如果它们未经身份验证,则不重定向,而只是将访问者登录嵌入其中。
更新:我不想维护 2 个 Atuhorize 属性。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 redirect unauthorized