MSDN原文: _____________________________________________________________________________________ 从 Web 应用程序访问 SQL Server请参见 Web 应用程序的访问权限 | 数据库安全性 | 安全性入口 | Web 应用程序安全威胁概述 | Web 应用程序的基本安全做法 当 Web 应用程序涉及数据库访问时,它必须向 SQL Server 提供凭据(即它必须登录到 SQL Server),就像任何其他用户或进程一样。在 Web 应用程序中,这样会使问题复杂化。例如,如果 Web 应用程序以匿名方式运行,则可能没有要传递到 SQL Server 的凭据。为 Web 应用程序设计 SQL Server 访问的方法有多种。您选择什么样的策略,取决于您的计算机是如何配置的以及您是否在 Intranet 上。最简单的选择有: 使用 Windows 集成安全性。此选择将用户的凭据传递到 SQL Server。由于委托问题,这样做是切实可行的,条件是 SQL Server 和 IIS 位于同一台计算机上,而且用户必须与 Web 服务器计算机位于同一域中。有关详细信息,请参见使用 Windows 集成安全性访问 SQL Server。 作为本地 ASPNET 或 NETWORK SERVICE 进程(应用程序中 Web 应用程序的默认用户标识)访问 SQL Server。此选项非常适合于匿名访问,但只有在 SQL Server 与 Web 服务器在同一台计算机时才起作用。有关详细信息,请参见以本地用户身份访问 SQL Server。 将 Web 应用程序进程映射到 Windows 域用户,然后以该用户身份登录到数据库。如果 SQL Server 与 Web 服务器位于不同的计算机上,此选择非常适合于匿名访问。有关详细信息,请参见使用映射的 Windows 域用户访问 SQL Server。 在连接字符串中传递显式用户名和密码。如果您可以提示用户输入凭据,则此选择是切实可行的,但是其安全性可能低于其他选择。您也可以将其作为映射到 Windows 域用户的更容易实现的替代选择。有关详细信息,请参见使用显式凭据访问 SQL Server。 如果您熟悉有助于保护用户信息的其他 Windows 功能,如 Kerberos、Active Directory、Passport 等,您也可以利用这些功能创建数据库访问。有关更多信息,请参见 Kerberos 身份验证和信任和 Active Directory 安全性。
》》》》SqlConnection.Open()都没成功过。你看一下Web站点的属性页,Web站点选项卡里的“限制到x连接”,它限制了多少用户可以同时连接到该站点。
》》》》这个限制连接在什么地方?我怎么没找到。如果你用的Win2K Professional,建议换装Advance Server。
》》》》我的服务器是win xp IIS 5.1兄弟,这应该是个身份认证问题,建议你用身份模拟试试,一步步地试,应该可以解决问题:-)祝你好运!!
》》》》你说的是sql里的身份认证吗?我把SqlConnection.ConnectionString换成信任连接了,也还是一样的啊。
1.设置Machine.config 文件中的<processModel>元素的userName 属性为"SYSTEM"
在sdk 文档中为
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfprocessmodelsection.htm2.在web.Config中,设置用户模拟
<identity impersonate="true|false"
userName="domain\username"
password="password"/>
在sdk 文档中为
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfidentitysection.htm
其中一种是链接串动态匹配的时候localhost跟ip的区别造成的。
_____________________________________________________________________________________
从 Web 应用程序访问 SQL Server请参见
Web 应用程序的访问权限 | 数据库安全性 | 安全性入口 | Web 应用程序安全威胁概述 | Web 应用程序的基本安全做法
当 Web 应用程序涉及数据库访问时,它必须向 SQL Server 提供凭据(即它必须登录到 SQL Server),就像任何其他用户或进程一样。在 Web 应用程序中,这样会使问题复杂化。例如,如果 Web 应用程序以匿名方式运行,则可能没有要传递到 SQL Server 的凭据。为 Web 应用程序设计 SQL Server 访问的方法有多种。您选择什么样的策略,取决于您的计算机是如何配置的以及您是否在 Intranet 上。最简单的选择有: 使用 Windows 集成安全性。此选择将用户的凭据传递到 SQL Server。由于委托问题,这样做是切实可行的,条件是 SQL Server 和 IIS 位于同一台计算机上,而且用户必须与 Web 服务器计算机位于同一域中。有关详细信息,请参见使用 Windows 集成安全性访问 SQL Server。
作为本地 ASPNET 或 NETWORK SERVICE 进程(应用程序中 Web 应用程序的默认用户标识)访问 SQL Server。此选项非常适合于匿名访问,但只有在 SQL Server 与 Web 服务器在同一台计算机时才起作用。有关详细信息,请参见以本地用户身份访问 SQL Server。
将 Web 应用程序进程映射到 Windows 域用户,然后以该用户身份登录到数据库。如果 SQL Server 与 Web 服务器位于不同的计算机上,此选择非常适合于匿名访问。有关详细信息,请参见使用映射的 Windows 域用户访问 SQL Server。
在连接字符串中传递显式用户名和密码。如果您可以提示用户输入凭据,则此选择是切实可行的,但是其安全性可能低于其他选择。您也可以将其作为映射到 Windows 域用户的更容易实现的替代选择。有关详细信息,请参见使用显式凭据访问 SQL Server。
如果您熟悉有助于保护用户信息的其他 Windows 功能,如 Kerberos、Active Directory、Passport 等,您也可以利用这些功能创建数据库访问。有关更多信息,请参见 Kerberos 身份验证和信任和 Active Directory 安全性。
1.设置Machine.config 文件中的<processModel>元素的userName 属性为"SYSTEM"
2.在web.Config中,设置用户模拟
》》》》
》》》》仍然无效。我知道在web里有可能因为多种原因不能正常连接的到数据库,
其中一种是链接串动态匹配的时候localhost跟ip的区别造成的。
》》》》
》》》》我没使用localvhost是不是要在SQL中加ASP.NET的用户啊
》》》》
》》》》加了,无效。不清楚什么问题,写个程序跟踪跟踪。
》》》》
》》》》写程序跟踪?!没玩过,能教教我吗?
》》》》请问“fwind(最近比较烦)”IIS匿名用户得赋予什么权限才够?
》》》》我在IIS里面查看“目录安全性”,是允许匿名访问的,允许IIS控制密码,这些配置我 都没改过,自动生成的。
我虽然加了身份模拟“<identity impersonate="true"/>”,问题又来了!
在访问aspx网页时就弹出windows窗口“正在连接xxx服务器......”,要求输入用户名和密码。可我就是把administrator的密码给输进去还是提示错误“System.ApplicationException: 拒绝访问”。
是要给匿名用户加什么权限吗?请大家指点!
在访问aspx网页时就弹出windows窗口“正在连接xxx服务器......”,要求输入用户名和密码。可我就是把administrator的密码给输进去还是提示错误“System.ApplicationException: 拒绝访问”。
是要给匿名用户加什么权限吗?请大家指点!
-------------------------------------------------------------------------------------
这个也是我遇到的问题,up++,有人来给解决下吗?
在访问aspx网页时就弹出windows窗口“正在连接xxx服务器......”,要求输入用户名和密码。可我就是把administrator的密码给输进去还是提示错误“System.ApplicationException: 拒绝访问”。
是要给匿名用户加什么权限吗?请大家指点!
-----------------------------------------------------------这个也是我遇到的问题,up++,有人来给解决下吗?
严重关注中这样写不行吗?<identity impersonate="true|false"
userName="domain\username"
password="password"/>我遇到的也是一样的问题啊。
http://www.czrx.com/get.asp?get=iamcfr
》》》》
》》》》需要金币才能下载啊,能不能把源码发份给我,[email protected],先谢了。