web.config中连接字符串的问题

数据的流 2012-03-18 01:53:59
在<appSettings>配置连接数据库的问题
如何将<add key="DBConnection" value="workstation id=doughty;server=.\SQLEXPRESS;packet size=4096;user id=sa;initial catalog=doughty_bbs;persist security info=True;password=sa"></add>
改为使用使用Windows验证登录
注:不想使用<connectionStrings>,我是从网上下的代码,如果使用<connectionStrings>还需要改动许多地方
...全文
565 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝_爸 2012-03-19
  • 打赏
  • 举报
回复
可以使用integrated security=true
但是web中有点tricky,因为IIS中默认使用NETWORK SERVICE(win2k3, IIS6)这个账户运行asp.net应用程序的。
因此你需要设置NETWORK SERVICE对数据库的权限。但是这样做有点危险。
你有两种方式避免给network service账户太多权限。
1. Impersonating a Fixed Identity with Windows Authentication
<identity impersonate="false" userName="" password="" />这样,asp.net就有了指定user的权限。所有的request都使用同样的用户,只要给指定user对数据的权限即可

2. Impersonating the Original Caller
必须使用windows 模式的authentication.
<system.web>
...
<authentication mode="Windows"/>
<identity impersonate="true"/>
...
</system.web>
这样,用户登录网站的identity将用于访问数据库。这样利于追踪是谁修改了数据库,可以用于audit。

具体参考:
How To: Use Windows Authentication in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647405.aspx


hulunchi 2012-03-18
  • 打赏
  • 举报
回复
同意5楼的
我爱小土豆 2012-03-18
  • 打赏
  • 举报
回复
<connectionStrings>
<add name="链接名字" connectionString="data source=.;initial catalog=数据库名字;integrated security=true"/>
</connectionStrings>

<connectionStrings>
<add name="DBconnection" connectionString="data source=.;initial catalog=DBsellou;integrated security=true"/>
</connectionStrings>
EnForGrass 2012-03-18
  • 打赏
  • 举报
回复
dalmeeme 2012-03-18
  • 打赏
  • 举报
回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧