【发布时间】:2015-04-08 13:21:02
【问题描述】:
在问这个问题之前,我已尽力搜索网络。我在stackoverflow上看到过类似的问题,但是很长一段时间以来都没有得到令人满意的回答。这是再次尝试回答这个反复出现的问题。
问题
如何构建一个 ASP.NET MVC 5 网站,该网站对 Intranet 用户使用“Windows Auth”,对 Internet 用户使用“Forms Auth”?我们希望使用 ASP.NET Identity 来完成此任务。此外,我们不想使用 Active Directory 组进行授权。对于 Intranet 用户,我们希望使用 Active Directory 对他们进行身份验证,然后回退到 ASP.NET Identity 来管理他们的角色和其他配置文件数据。
如果我们不要求最终用户选择身份验证方法会很好。 Web 应用程序应无缝登录 Intranet 用户。他们甚至不应该知道有一个登录屏幕。同样,不应要求互联网用户输入他们的域凭据。他们应该会立即看到基于表单的登录屏幕。
有没有推荐的方法来解决这个问题?或者如果以下任何一个是正确的解决方案,您能否发表评论?
http://world.episerver.com/blogs/Dan-Matthews/Dates/2014/8/Mixing-Forms-and-Windows-Authentication/
https://github.com/MohammadYounes/MVC5-MixedAuth
仅供参考,这是 2004 年的文章,现在可能没有帮助: https://msdn.microsoft.com/en-us/library/ms972958.aspx
【问题讨论】:
-
你最终做到了吗?我正在寻找类似的解决方案,但同时为 Azure 提供解决方案以及 Active Directory 也增加了复杂性
-
Ravi,您能否找到解决方案,如果可以,请与我们分享解决方案。
-
还没有,等我发了。
-
您找到解决方案了吗?
-
不,我放弃了尝试。我们使用一个登录页面来管理这两种帐户类型。如果用户来自域(我们可以从@example.com 主机名中找出),我们使用 LDAP,否则我们使用表单身份验证。因此windows域用户不必创建新帐户并记住一个密码。
标签: asp.net asp.net-mvc asp.net-identity windows-authentication