用户在进入数据库系统时,SQLServer要对该用户进行身份验证,有以下两种身份验证模式。
●Windows身份验证模式(Windows Authentication Model),适合于当数据库仅在组织内部访问时。
●混合身份验证模式(SQL Serverand Windows Authentication Model),适用于当外界的用户需要访问数据库时或当用户不能使用Windows域时。
如果在服务器级别配置上述这些安全模式,它们会应用到服务器上的所有数据库。但是,还需要注意每个数据库服务器实例有独立的安全体系结构。这意味着不同的数据库服务器实例可能有不同的安全模式。
1.Windows身份验证模式
SQL Server数据库系统通常运行在Windows NT服务器平台或基于Windows NT构架的Windows 2000/2003上,而Windows NT作为网络操作系统,本身具备管理登录、验证用户合法性的能力,所以Windows验证模式正是利用这一用户安全性和账号管理的机制,允许SQL Server使用Windows NT的用户名和口令。在该模式下,用户只要通过Windows的验证就可连接到SQL Server,而SQL Server本身也没有必要管理一套登录数据。
Windows验证模式比SQL Server验证模式具有更多的优点,原因在于Windows验证模式集成了Windows NT或Windows 2000/2003的安全系统,并且Windows NT安全管理具有众多特征,如安全合法性,口令加密,对密码最小长度进行限制等。所以当用户登录到SQL Server时,它会从Windows NT或Windows 2000/2003的网络安全属性中获取登录用户的账号和密码,并使用Windows NT或Windows 2000/2003验证账号和密码的机制来验证登录的合法性,从而提高了SQL Server的安全性。
在Windows身份验证模式下,SQL Server检测当前使用Windows的用户账号,并在系统注册表中查找该用户,以确定该用户账户是否有权限登录。在这种方式下,用户不必提交登录名和密码让SQL Server验证。Windows身份验证模式界面如图9-1所示。
图9-1 Windows身份验证
2.混合身份验证模式
使用混合身份验证模式时,SQL Server首先确定用户的连接是否使用有效的SQL Server用户账户登录。如果用户有有效登录账户和正确的密码,则接受用户的连接;如果用户有有效的登录账户,但是使用了不正确的密码,则用户的连接被拒绝;仅当用户没有有效的登录账户时,SQL Server才检查Windows账户的信息。在这样的情况下,SQL Server确定Win⁃dows账户是否有连接到服务器的权限。如果账户有权限,则连接被接受,否则,连接被拒绝。
如图9-2所示为使用SQL Server混合身份验证的界面。在使用混合身份验证模式时,用户必须提供登录名称和密码,SQL Server通过检查用户是否注册了该SQL Server登录账户,或使用的密码是否与以前记录的密码相匹配来进行身份验证。如果SQL Server未设置登录账户,则身份验证将失败,而且用户收到错误信息。
混合验证模式具有如下优点。(www.xing528.com)
●创建了Windows之上的另一个安全层次。
●支持更大范围的用户,例如,非Windows用户等。
图9-2 混合身份验证
●一个应用程序可以使用单个的SQL Server登录名和口令。
对SQL Server的默认身份验证模式的设置,可以在安装SQL Server实例的时候就设置好,也可以在以后通过对象资源管理器来设置,步骤如下。
1)启动SQL Server Management Studio,选择要进行验证模式设置的服务器。
2)鼠标右键单击该服务器,在弹出的快捷菜单中选择“属性”命令,SQL Server将弹出“服务器属性”对话框。
3)在“服务器属性”对话框中选择“安全性”选项,如图9-3所示。
图9-3 “服务器属性”对话框
4)在“服务器身份验证”处选择要设置的验证模式,同时可以在“登录审核”处选择任意一个单选按钮,来决定跟踪记录用户登录时的哪些信息,例如,登录成功或失败的信息。
5)在“服务器代理账户”处设置当启动Microsoft SQL Server Management Studio时将以默认用户名和登录密码进行登录。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。