13
|
Brij · 技术社区 · 14 年前 |
1
11
站点身份验证与ASP和SQL之间的身份验证无关。“窗体身份验证”实际上不是真正的身份验证形式,只是ASP.NET应用程序的角色和成员身份,与安全基础结构无关。 从Visual Studio运行站点时,您将使用自己的帐户启动Visual Studio Web服务器,并且此Web服务器将使用NTLM/Kerberos作为您的身份验证到SQL Server,因为它是在您的凭据下运行的。 当您从浏览器访问站点时,您的站点是从具有所述应用程序池标识的IIS应用程序池运行的,该应用程序池通常是名为iuser_uu…使用NTLM/Kerberos与SQL Server进行身份验证时,此本地用户将作为匿名用户进行身份验证,因为本地帐户在承载SQL Server的远程计算机/域上没有意义。 解决方案是将应用程序池标识更改为可以通过SQL Server进行精细身份验证的用户。为此,必须将IIS主机加入到与SQL Server主机(或信任SQL Server主机域的域)相同的域中,并且必须将应用程序池标识更改为此域中的帐户。因此,如果SQL Server计算机在加入域foo的计算机上运行,则:
使用SQL身份验证的另一种选择是错误的,原因有几个(可能在web.config中公开密码,也可能在网络上进行身份验证时公开密码)。如果IIS主机未加入域,则 可以 使用镜像帐户(在IIS主机和SQL主机上具有相同名称和密码的本地帐户),但这也有缺陷:无法使用Kerberos,必须在两台主机上保持帐户密码同步等。 |
2
2
一种方法是为要使用的应用程序创建服务帐户。您可以在Active Directory或类似目录中创建帐户。在IIS中,将应用程序池设置为在该服务帐户下运行。在SQL Server中,直接或通过将服务帐户置于角色中来授予服务帐户的权限。 这是一篇关于 how to do that . |
3
2
在SQL Server计算机和Web服务器(IIS)计算机所属或信任的域中创建托管服务帐户。然后在托管服务帐户上运行Web服务器的应用程序池。使用托管服务帐户创建SQL Server登录。有关创建托管服务帐户的详细信息,请阅读以下TechNet文章; http://technet.microsoft.com/en-us/library/dd548356(v=ws.10).aspx |
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
Max J. · 用整数作为键将dict写入csv 2 年前 |