如何解决在MVC3应用程序中使用Windows身份验证时,将特定用户帐户重定向到登录页面
| 我正在使用.Net MVC3开发应用程序。使用Windows身份验证和Active Directory进行登录,一切正常。这是一个基于Intranet的应用程序。 问题是我们拥有一个部门中多个人使用的登录名。 我希望能够将该帐户重定向到登录页面,以便我可以提示输入其他用户名和密码,但似乎找不到通过Windows身份验证实现此目的的方法。如果有,我只是看不到在MVC中进行该操作的位置。 我尝试将表单身份验证与AD结合使用,但我们不希望每个人都必须登录,而只需一个帐户即可。不幸的是,这是我的商业决定! 在这种情况下,也不适合在控制器上使用授权属性,因为所有用户或组均可访问所有控制器。 我所看到的建议似乎围绕内部和外部帐户的Windows和Forms身份验证混合使用,但是在这种情况下,我们所有的帐户都位于AD中。 有什么办法可以做到这一点? 标记解决方法
听起来很难,因为如果所有用户和组都可以访问所有区域,那么人们只能使用一个单独的URL,因此您必须覆盖所输入的任何URL。
您可以为该特定用户添加另一个组吗?
当您要将它们重定向到另一个登录页面时,是否表示他们将在其中输入更多AD凭据的页面?
而且,您是说一个部门中的多个人使用他们之间的一个AD帐户登录到多台计算机吗? Cos听起来很糟糕!
,我建议您使用一个类,以获取使用Windows身份验证登录的用户名,如下所示:
WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity;
然后,您可以使用它来检查它是否是每个人都在使用的主用户。如果是这样,请将该用户注销。注销后,将用户重定向到必须使用新登录名的登录页面。您甚至可以发送状态消息。
现在,您可以修改Authorize Attribute类,也可以只编写自己的自定义类,然后在需要登录的每个页面上调用它(这不理想)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。