C#连接SQLSERVER数据库window⾝份验证跟sqlserver⾝份验
证的区别
采⽤集成的Windows验证和使⽤Sql Server⾝份验证进⾏数据库的登录
1、集成的Windows⾝份验证语法
1string constr = "server=.;database=myschool;integrated security=SSPI";
说明:程序代码中,设置了⼀个针对Sql Server数据库的连接字符串。其中server表⽰运⾏Sql Server的计算机名,由于程序和数据库系统是位于同⼀台计算机的,所以我们可以⽤.(或localhost)取代当前的计算机名。
database表⽰所使⽤的数据库名(myschool)。由于我们希望采⽤集成的Windows验证⽅式,所以设置 integrated security为SSPI即可。
2、Sql Server 2005中的Windows⾝份验证模式如下:
1string constr = "server=.;database=myschool;uid=sa;pwd=sa";
sql server两种身份验证模式
说明:程序代码中,采⽤了使⽤已知的⽤户名和密码验证进⾏数据库的登录。数据库连接字符串是不区分⼤⼩写的。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⾝上转移到了系统管理员⾝上,这在确定的环境中也是⼀个问题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。