从窗体身份验证转换为 Windows 身份验证



我们目前正在为我们的内部网站使用表单身份验证,并希望允许用户通过 Windows 身份验证进行身份验证。这将如何影响当前的用户帐户、配置文件和角色。我在网络上看到我可以混合两种身份验证类型并将角色和配置文件放在单独的数据库中,但是如何将现有角色和配置文件分配与 Windows 身份验证用户登录链接起来?

我不确定您是否可以完全按照您的要求进行操作,但是您可以编写代码来摆脱这种情况,您可以编写功能,要求经过 Windows 身份验证的人输入您已经拥有的唯一凭据(例如电子邮件地址),如果他们通过单击链接做出响应,您可以以编程方式转换用户帐户。

您可以创建新帐户并从旧的未经 Windows 身份验证的帐户导入信息,然后删除旧帐户。但是,作为迁移的一部分,在此方法中需要更改依赖于 UserId 的所有数据库记录。

取决于你想要的集成程度,但如果它是单点登录,那就不能推动这一点。获取用户的 SID 在配置文件角色等中查找它(可以向其添加 SID 列,但简单的 SID - 用户 ID 表会更好。

如果他们在那里,你就可以走了。如果他们没有使用表单 Athentication 来识别他们,并从他们的 SID TO用户 ID 添加映射。所以他们会再次被问到,仅此而已。

无论如何,在 sid 发生变化的情况下,您可能需要类似的机制,这可能会在各种窗口问题之后发生。 或者对于非Windows用户的匿名访问。

如果您不喜欢 SID 作为 ID,那么其他一些例如域\用户名可能会这样做。

Windows组/角色到应用程序角色以实现完全集成是另一个步骤,就像合理化个人资料信息,如全名等。

无论如何,这

都是很好的快速入门,而无需现在拖网浏览使用用户ID的所有内容并进行更改。

终于回来回答这个问题了。我们实际上有点废弃了表单身份验证中的内容。角色与 Windows 身份验证的工作方式大不相同,配置文件也是如此。我们使用了自定义配置文件提供程序,而不是内置配置文件提供程序。如果有人对我们所做的工作感兴趣,我整理了一系列四篇博客文章,详细介绍了我们在环境中所做的事情以及我们遇到的一些故障:第 1 部分、第 2 部分、第 3 部分和第 4 部分。

最新更新