Windows操作系统设置用户组的问题,高手帮忙啊!
来源:百度知道 编辑:UC知道 时间:2024/06/07 20:41:37
创建某个 Windows 用户组的集成登录后,所有该组成员用户无需提供数据库的用户 ID 或口令就能连接到该数据库。有两种方法可以防止具有集成登录的 Windows 用户组的成员使用该组的集成登录连接到数据库:
为该用户创建一个到没有口令的数据库用户 ID 的集成登录。
创建一个由 LOGIN_PROCEDURE 选项调用的存储过程,用于检查用户是否允许登录,并在禁止的用户试图连接时引发异常。
可以使用其中任一方法来防止 Windows 用户组的成员连接到数据库。
创建到没有口令的用户 ID 的集成登录
当用户是一个具有集成登录的 Windows 用户组的成员,同时其用户 ID 具有显式集成登录,则使用该用户的集成登录连接到数据库。要防止用户使用他们的 Windows 用户组集成登录连接到数据库,您可以为该 Windows 用户创建一个到没有口令的数据库用户 ID 的集成登录。没有口令的数据库用户 ID 不能连接到数据库。
创建到没有口令的用户 ID 的集成登录
向数据库添加一个用户,但不提供口令。例如:
GRANT CONNECT TO db_user_no_password为该 Windows 用户创建映射到没有口令的数据库用户的集成登录。例如:
GRANT INTEGRATED LOGIN TO WindowsUser
AS USER db_user_no_password创建过程来防止 Windows 用户进行连接
LOGIN_PROCEDURE 选项指定每次尝试连接到数据库时要调用的存储过程。缺省情况下,调用 dbo.sp_login_environment 过程。可以设置 LOGIN_PROCEDURE 选项调用编写来防止特定用户连接到该数据库的过程。
下面的示例创建一个名为 login_check 的过程,供 LOGIN_PROCEDURE 选项调用。login_check 过程通过禁止连接到数据库的用户的列表来检查提供的用户名。如果在列表中找到了提供的用户名,则连接失败。在此示例中,名为 Joe、Harry 或 M