ASP.NET身份Windows身份验证(混合模式 – 表单Windows)

前端之家收集整理的这篇文章主要介绍了ASP.NET身份Windows身份验证(混合模式 – 表单Windows)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经尽力在搜索网络之前提出这个问题。我在stackoverflow上看到类似的问题,但是,没有一个已经得到满意的答复了很长时间了。这是一个再试图得到这个经常性问题回答。

问题

如何构建一个ASP.NET MVC 5网站使用“Windows身份验证”内部网用户和“表单验证”的互联网用户?我们想使用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

http://mvolo.com/iis-70-twolevel-authentication-with-forms-authentication-and-windows-authentication/

FYI这是2004年的文章,可能不是有帮助的现在:
https://msdn.microsoft.com/en-us/library/ms972958.aspx

解决方法

这个术语是混合模式认证。我做了这个多次。你只需要调整你的主要网站。这是我如何做到这一点。

保持你的主MVC网站,但运行它作为匿名VS在Windows Auth下。

内部网站

创建重定向URL网站:将此网站设置为Window Auth,以便您可以从Active Directory中提取用户ID。为您的用户提供此URL和/或将其作为您在Intranet上点击的链接。然后这个网站调用您的MVC站点并传递用户凭据(登录ID)。

一个。这可以通过URL上的加密字符串或cookie中的加密值来完成。您也可以使用到期日期/时间值进行加密。

b。 (从表单验证中发言)使用该用户ID创建表单验证票证。运行您拥有的任何其他登录逻辑。完成。

外部网站 – 无需更改。让用户按原样登录

猜你在找的asp.Net相关文章