gpt4 book ai didi

asp.net - 针对 AD 的混合模式身份验证,如果成员(member)提供商失败则回退到数据库

转载 作者:行者123 更新时间:2023-12-02 15:36:47 25 4
gpt4 key购买 nike

我的用户将针对 Active Directory 或数据库使用表单例份验证。那里没有 Windows 集成身份验证!!

我想要的是当用户提交身份验证表单时,它将尝试根据 Active Directory 验证用户,如果失败,请尝试使用数据库。

我怎样才能做到这一点?我的想法是构建一个自定义成员(member)资格提供程序来封装逻辑,但我不知道如何开始。

还有更好的办法吗?

最佳答案

实现此目的的唯一方法是创建自定义提供程序。

在完美的世界中,您可以简单地创建一个外观提供程序,然后根据需要利用适当的提供程序、SQL 或 AD 来进行身份验证并将 MembershipUser 返回到您认为必要的任何完整性程度。

在现实世界中,这仍然是可能的,但您需要克服一些困难:

  • 创建外观提供程序并将其首先放置在membership元素的providers子元素中,并将其设置为中的defaultProvider >成员(member)元素
  • 正确配置SqlMembershipProvider和一个ActiveDirectoryMembershipProvider并将它们放置在您的立面之后。
  • 从您的外观中,从静态 Membership.Providers 集合中访问已配置的提供程序,以根据需要执行功能。

您可能会发现,如果您需要使用角色,则需要重复此模式,虽然它适用,但实现会有点复杂,超出了本文的范围。

或者,可以找到 SQL 提供程序的完整源代码 here它们是实现工业级定制提供商的一个很好的起点和指导。

我建议首先探索阻力最小(以及最少的劳动和头痛)的路径,并在尝试从头开始实现自定义安全功能之前刺破外观。

祝你好运。

关于asp.net - 针对 AD 的混合模式身份验证,如果成员(member)提供商失败则回退到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232072/

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