3. 身份验证模式
当SQL Serve在Windows NT/2000上运行时,系统管理员必须指定系统的身份验证模式类型。SQL Server的身份验证模式有两种:Windows 身份验证(Windows Authentication)模式和混合模式(Mixed Mode)。身份验证模式和身份验证方式的关系是:
Windows身份验证模式 (Windows身份验证方式);
混合模式 (Windows 身份验证方式 和 SQL Server 身份验证方式)。
Windows 身份验证模式只允许使用Windows 身份验证方式,这时用户无法以SQL Server的登录账号登录服务器。它要求用户登录到Windows NT/2000,当用户访问SQL Server时,不用再次登录。虽然用户仍会被提示登录,但SQL Server的用户名会自动从用户网络登录ID中提取。而混合身份验证模式即允许使用Windows NT/2000身份验证方式,又允许使用SQL Server身份验证方式。它使用户既可以登录SQL Server,也可用Windows NT/2000的集成登录。
集成登录只能在用命名管道连接客户机服务器时使用。当使用混合模式时,无论是使用 Windows NT/2000身份验证方式的用户,还是使用SQL Server身份验证方式的用户,都可以连接到SQL Server系统上。也就是说:身份验证模式是对服务器来说的,而身份验证方式是对客户端来说的。
4. Windows身份验证模式
Windows 身份验证模式最适用于只在部门访问数据库的情况。与SQL Server身份验证方式相比,Windows身份验证方式具有下列优点:提供了更多的功能,例如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;通过增加单个登录账号,允许在SQL Server系统中增加用户组;允许用户迅速访问SQL Server系统,而不必使用另一个登录账号和口令。
SQL Server系统按照下列步骤处理Windows 身份验证方式中的登录账号:
1)当用户连接到Windows NT/2000系统上时,客户机打开一个到SQL Server系统的委托连接。该委托连接将Windows NT/2000的组和用户账号传送到SQL Server系统中。因为客户机打开了一个委托连接,所以SQL Server系统知道Windows NT/2000已经确认该用户有效。
2)如果SQL Server系统在系统表syslogins的SQL Server用户清单中找到该用户的Windows NT/2000用户账号或者组账号,就接受这次身份验证连接。这时,SQL Server系统不需要重新验证口令是否有效,因为Windows NT/2000已经验证用户的口令是有效的。
3)在这种情况下,该用户的SQL Server系统登录账号即可以是Windows NT/2000的用户账号,也可以是Windows NT/2000组账号。当然,这些用户账号或者组账号都已定义为SQL Server系统登录账号。
4)如果多个SQL Server机器在一个域或者在一组信任域中,那么登录到单个网络域上,就可以访问全部的SQL Server机器。
5. 混合模式
混合模式最适合用于外界用户访问数据库或不能登录到Windows域时。
混合方式的SQL Server身份验证方式有下列优点:混合方式允许非Windows NT/2000客户、Internet客户和混合的客户组连接到SQL Server中;SQL Server身份验证方式又增加了一层基于Windows 的安全保护。SQL Server按照下列步骤处理自己的登录账号:
1.当一个使用SQL Server账号和口令的用户连接SQL Server时,SQL Server验证该用户是否在系统表syslogins中且其口令是否与以前纪录的口令匹配。
2.如果在系统表syslogins中没有该用户账号,那么这次身份验证失败,系统拒绝该用户的连接。
结束语
SQL Server提供多层安全。在最外层,SQL Server的登录安全性直接集成到Widows NT/2000的安全上,它允许Windows NT服务器验证用户。使用这种"Windows 验证"SQL Server就可以利用Windows NT/2000的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号。