zoukankan      html  css  js  c++  java
  • 采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录

    采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录

    1、集成的Windows身份验证语法范例

    1

    <connectionStrings>
    <add name="connString" connectionString="server=.;database=myschool;integrated security=true"/>
    </connectionStrings>

     


    说明:程序代码中,设置了一个针对Sql Server数据库的连接字符串。其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的,所以我们可以用.(或localhost)取代当前的计算机名。

    database表示所使用的数据库名(myschool)。由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可。

    2、Sql Server 2005中的Windows身份验证模式如下:

    1
    string constr = "server=.;database=myschool;uid=sa;pwd=sa";

    说明:程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。数据库连接字符串是不区分大小写的。uid为指定的数据库用户名,pwd为指定的用户口令。

    为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连接字符串加密的方式提高程序的安全性。

    window身份验证跟sql server身份验证的区别

    windows身份验证:

    只要能登录操作系统的用户都可以登录数据库。windows身份验证由windows验证并分配有效的安全ID,同时也只能windows用户登录连接。

    sqlserver身份验证

    需要在数据库中设置用户和密码,才能登录可以登录的数据库。必须提供SQL Server用户ID和密码

    优缺点:

    Windows身份验证使用单一的用户信息库源,因此,不需要为数据库访问去分别配置用户。

    连接字符串不包含用户ID和密码,因此消除了把用户ID和密码暴露给未授权的用户的危险。可以在Active Directory中管理用户和他们的角色,而不必在SQLServer中显式地配置他们的属性。 

    Windows身份验证的缺点是,它要求客户通过Windows的安全子系统支持的安全通道去连接SQL Server。如果应用种序需要通过不安全的网络(例如Internet)连接SQL Server,Windows身份验证将不工作。

    此外,这种身份验证方法也部分地把管理数据库访问控制的责任从DBA身上转移到了系统管理员身上,这在确定的环境中也是一个问题。

  • 相关阅读:
    Windows CE Notification API的使用方法
    探讨如何成为技术团队管理者
    Android应用---基于NDK的samples例程hello-jni学习NDK开发
    在eclipse中配置android ndk的自动编译环境builders
    用javah 导出类的头文件, 常见的错误及正确的使用方法
    Android下NDK开发环境搭建
    Android系统修改硬件设备访问权限
    Android调试工具之ADB
    关于前端小白的一点小建议
    Vue.js简单实践
  • 原文地址:https://www.cnblogs.com/victor-huang/p/7889791.html
Copyright © 2011-2022 走看看