gpt4 book ai didi

c# - .NET MVC 身份验证 - 表单 + Windows 身份验证

转载 作者:可可西里 更新时间:2023-11-01 09:14:22 25 4
gpt4 key购买 nike

我目前正在从事一个项目,该项目的要求给我带来了一些问题,我想知道处理它的最佳方法。

本质上,我们希望内部用户能够访问 MVC 应用程序并通过 AD 进行身份验证,我们希望这与 SSO 非常相似,他们登录到他们的计算机并导航到该站点并进入。

第二种类型的用户是我们的 AD 中不存在的外部合作伙伴,我们希望通过我们的 SQL Server 进行管理。对于这些用户,我们希望显示登录页面并进行表单例份验证。

起初我的想法很简单,让 IIS 尝试使用 Windows 身份验证进行身份验证,如果失败 (401),则重定向到登录页面。我目前没有测试这个的环境,但根据我在 IIS7 中的理解,它并不是那么简单,需要一点点“黑客”才能完成。我需要避免类似的事情,我需要一个解决方案,该解决方案可以像系统设计的那样工作,而不是通过欺骗来工作。

我研究过 ADFS 和 WIF,但 ADFS 只支持 AD,不支持 SQL,据我所知,没有支持 SQL Server 的 STS。我曾考虑托管使用 Windows 身份验证的内部应用程序和使用表单例份验证的外部应用程序,但我希望尽可能避免这种情况。

理想情况下,我们想要的流程是用户导航到 MVC 应用程序 IIS 尝试进行 Windows 身份验证,如果失败 (401),则将他们重定向到登录页面。从那里登录页面将根据 SQL 数据库验证用户凭据。在一个 MVC 应用程序中完成这一切的最佳方式是什么?

谢谢!

最佳答案

如果您使用的是 ASP.NET MVC 5,我会在 FormsAuthentication 或 OWIN 之上实现我自己的身份验证。这非常简单,您可以完全控制去哪里对用户进行身份验证。相信我,这并不像听起来那么可怕。我已经写了一些关于它的帖子,您可能会觉得有趣。

MVC 5

http://www.khalidabuhakmeh.com/asp-net-mvc-5-authentication-breakdown-part-deux

MVC 4

http://tech.pro/tutorial/1216/implementing-custom-authentication-for-aspnet

我目前使用 MVC 4 方法对 Active Directory 域进行身份验证并取得了巨大成功。我唯一推荐的是缓存对 Active Directory 的调用,因为它有时可能不可靠。

关于c# - .NET MVC 身份验证 - 表单 + Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19454074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com