我们目前在内网站使用表单验证,想要允许用户通过Windows验证进行身份认证。这将如何影响当前用户帐户、配置文件和角色呢?我看到在网络上可以混合使用这两种身份验证类型,并将角色和配置文件放在单独的数据库中,但我该如何将现有的角色和配置文件分配与Windows验证用户登录连接起来呢?
根据您想要达成的集成程度,如果是单点登录驱动的话,需要获取用户的SID并在配置文件、角色等中查找它(可以将SID列添加到其中,但简单的SID-UserID表格可能更好)。
如果他们在其中,则可以开始使用了。如果他们不在其中,则使用表单身份验证来识别他们,并添加一个从其SID到UserID的映射。这样他们会被再次询问一次,就完成了。
您可能需要类似的机制来处理SID更改的情况,这可能发生在各种Windows问题之后,或用于非Windows用户的匿名访问等。
如果您不喜欢SID作为ID,则其他内容(例如域\用户名)可能也可以胜任。
将Windows组/角色转换为应用程序角色以进行完全集成是另一步,还有像全名等配置文件信息的合理化。
这是一个很好的快速入门方式,而不必逐个更改现在使用的UserID的所有内容。