zoukankan      html  css  js  c++  java
  • sql server连接字符串中的integrated security=true的意思是什么

    连接字符串中的integrated security=true的意思是什么

    每次在讲到这个地方的时候,我都会提问。也经常有朋友回答不上来。

    integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。

    那么到底是用哪一个Windows身份呢?很多朋友说,使用当前用户的身份吧?这个回答不能算错,至少在Windows应用程序中是这样的。但如果换成是ASP.NET应用程序,则就不是了。

    如果是ASP.NET应用程序(网站或者服务),那么根据其运行宿主环境的不一样,可能会有差异

    1. Windows XP :ASPNET帐号

    2. Windows 2003或者以后的版本:NetWork Service帐号

    知道这个原理之后,那么如果你准备用Integrated security=true,则需要授予这两个帐号对于数据库的访问权限。

    但要注意一个问题(也是很多朋友疑惑的),就是在Visual Studio里面调试的时候,貌似又不是使用ASPNET这个帐号的。这是因为Visual Studio总是使用当前开发环境中,用户的Windows身份来发起请求的。

    从下面的图可以看到这个差别。在VS里面调试,与在IIS中调试,访问的身份是不一样的

    陈希章 《Office 365开发入门指南》作者

    Persist Security Info=False"表示的是什么?

    ADO数据库连接中的Persist Security Info参数的作用

    ADO用了这么久,每次用向导创建ADO的数据库连接字符串时总会有产生一个Persist Security Info属性,平时没太注意,因为设置为True或False时对数据库连接没有任何影响。不过心理还是不爽,今天有时间查询了一下资料,总算搞清楚了它 的作用。

    Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",

    True表示保存,False表示不保存

    ADO缺省为True

    (ADO.net缺省为False,未测试,根据参考资料上说的)

    具体可以通过ADO的Connect对象的ConnectString属性进行验证,如下所示(以下在Delphi7中测试通过):

    ----------------------------------------------------------------------------------------------------------

    数据库连接前

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false"

    数据库连接成功后

    ConnectString="Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22"

    ----------------------------------------------------------------------------------------------------------

    数据库连接前

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true"

    数据库连接成功后

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22"

    ----------------------------------------------------------------------------------------------------------

    总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码(windows2003在sp1前就发生过这个问题)。

  • 相关阅读:
    OpenStack kolla 多 region 部署配置
    docker rpm 下载地址
    kolla-ansible 源码下载
    Linux下常用压缩 解压命令和压缩比率对比
    Python 获取秒级时间戳与毫秒级时间戳
    OVS 内核KEY值提取及匹配流表代码分析
    字符串压缩 牛客网 程序员面试金典 C++ Python
    奇偶位交换 牛客网 程序员面试金典 C++ Python
    寻找下一个结点 牛客网 程序员面试金典 C++ java Python
    平分的直线 牛客网 程序员面试金典 C++ Python
  • 原文地址:https://www.cnblogs.com/grj001/p/12223605.html
Copyright © 2011-2022 走看看