用户的表单身份验证和数据库的 Windows?

Posted

技术标签:

【中文标题】用户的表单身份验证和数据库的 Windows?【英文标题】:Forms authentication for users and Windows for Database? 【发布时间】:2011-03-03 12:33:06 【问题描述】:

在我们的生产服务器上,管理员创建了一个 WebUser 活动目录帐户,该帐户是匿名访问 IIS 的用户,还用于通过连接字符串中的 Integrated Security=SSPI 和身份 impersonate= 对我们的 SQL Server 实例的数据库访问进行身份验证web.config 中的“true”。

我经常遇到我想要甚至需要使用表单身份验证的情况。但是,我使用表单身份验证,集成安全似乎使用登录用户的凭据对数据库进行身份验证。在这些情况下,我已将连接字符串更改为使用 SQL Server 用户的凭据。我宁愿在连接字符串中没有硬编码的用户名和密码,或者在代码中更糟。

是否可以将表单身份验证仅用于用户的用户身份验证,并使用 IIS 用户的 Windows 身份验证来访问数据库?在这种情况下,最佳做法是什么?

【问题讨论】:

【参考方案1】:

是的,关闭模拟(即:impersonate=false),表单身份验证将用于 Web 身份验证和授权,但远程调用将使用 asp.net 进程身份。

【讨论】:

太棒了。那行得通。 WebUser 帐户只在网站上设置,而不是在应用程序池上设置,但一旦设置它就可以正常工作。

以上是关于用户的表单身份验证和数据库的 Windows?的主要内容,如果未能解决你的问题,请参考以下文章

在 Silverlight 中使用表单进行 Windows 身份验证 [重复]

Windows身份验证,后备登录表单

Windows 身份验证与表单身份验证

有啥区别:Windows 身份验证、护照身份验证和表单身份验证?

通过表单身份验证从代码隐藏模拟用户

使用表单身份验证进行模拟