Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • ADO的Isolation..
  • VB+ADO检测数据库并发..
  • access中ADO与DA..
  • 有关 JET SQL “位..
  • 一组SQL Server身..
  • ADP项目中创建ADP的数..

最新文章

  • 实验报告 --DAO与AD..
  • 用代码创建mdb格式的Ac..
  • 连接后台数据库提示 无法启..
  • 64位windows系统如..
  • Access的DAO准确获..
  • 利用代码自动创建ODBC源

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > DAO/链接表/ADO/ADP
DAO/链接表/ADO/ADP

关于 SQL Server 2000 身份验证与安全控制

 

关于 SQL Server 2000 身份验证与安全控制

SQL Server 2000 联机丛书:

SQL Server 身份验证模式

screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片">

  当 SQL Server 2000 在 Windows NT 或 Windows 2000 上运行时,sysadmin 固定服务器角色成员可以指定下面两种身份验证模式之一:

  1. Windows 身份验证模式
    只进行 Windows 身份验证。用户不能指定 SQL Server 2000 登录 ID。这是 SQL Server 2000 的默认身份验证模式。不能为在 Windows 98 上运行的 SQL Server 实例指定 Windows 身份验证模式,因为此操作系统不支持 Windows 身份验证。

    当用户通过 Windows NT 4.0 或 Windows 2000 用户帐户进行连接时,SQL Server 通过回叫 Windows NT 4.0 或 Windows 2000 以获得信息,重新验证帐户名和密码。

    SQL Server 通过使用网络用户的安全特性控制登录访问,以实现与 Windows NT 4.0 或 Windows 2000 的登录安全集成。用户的网络安全特性在网络登录时建立,并通过 Windows 域控制器进行验证。当网络用户尝试连接时,SQL Server 使用基于 Windows 的功能确定经过验证的网络用户名。SQL Server 于是验证此人是否是如其所说的那个人,然后只基于网络用户名允许或拒绝登录访问,而不要求单独的登录名和密码。

    登录安全集成在 SQL Server 中任何受支持的网络协议上运行。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    access数据库 说明 如果用户试图通过提供空白登录名称连接到 SQL Server 的实例,SQL Server 将使用 Windows 身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验证模式的 SQL Server 实例,则将忽略该登录并使用 Windows 身份验证。

    与 SQL Server 身份验证相比,Windows 身份验证有某些优点,主要是由于它与 Windows NT 4.0 和 Windows 2000 安全系统的集成。Windows NT 4.0 和 Windows 2000 安全系统提供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户。

    由于 Windows NT 4.0 和 Windows 2000 用户和组只由 Windows NT 4.0 或 Windows 2000 维护,因此当用户进行连接时,SQL Server 将读取有关该用户在组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户下次连接到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 2000 时(取决于更改的类型),这些更改会生效。

  2. 混合模式
    如果用户在登录时提供了 SQL Server 2000 登录 ID,则系统将使用 SQL Server 身份验证对其进行验证。如果没有提供 SQL Server 2000 登录 ID 或请求 Windows 身份验证,则使用 Windows 身份验证对其进行身份验证。

    当用户用指定的登录名称和密码从非信任连接进行连接时,SQL Server 通过检查是否已设置 SQL Server 登录帐户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验证。如果 SQL Server 未设置登录帐户,则身份验证将失败,而且用户收到错误信息。

    提供 SQL Server 身份验证是为了向后兼容性,因为为 SQL Server 7.0 版或更早的版本编写的应用程序可能要求使用 SQL Server 登录和密码。另外,当 SQL Server 实例在 Windows 98 上运行时,必须使用 SQL Server 身份验证,因为在 Windows 98 上不支持 Windows 身份验证模式。因此,SQL Server 在 Windows 98 上运行时使用混合模式(但只支持 SQL Server 身份验证)。

  尽管建议使用 Windows 身份验证,但对于 Windows NT 4.0 和 Windows 2000 客户端以外的其它客户端连接,可能需要使用 SQL Server 身份验证。

  access数据库 说明 当使用命名管道连接到在 Windows NT 4.0 或 Windows 2000 上运行的 SQL Server 实例时,用户必须有连接到 Windows NT 命名管道 IPC \\\IPC$ 的权限。如果用户没有连接权限,则不能使用命名管道连接到 SQL Server 实例,除非计算机上的 Windows NT 4.0 或 Windows 2000 guest 帐户已启用(默认情况下禁用),或者给用户帐户授予"从网络访问该计算机"的权限。


  设置 SQL Server 2000 身份验证模式

  SQL Server 2000 身份验证模式可以在安装过程中指定或使用 SQL Server 企业管理器指定,如下图。

  screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片">

  也可以通过修改注册表的方式来改变,如下图,它保存在
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer 节的 LoginMode 中。
  LoginMode的键值:1 表示Windows 身份验证模式,2 表示混合模式。

  screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片">

  注:改变模式后,必须重新启动 SQL Server 2000 才会生效。


SQL Server 2000 联机丛书:

若要连接到 Microsoft© SQL Server™ 2000 实例,只需给应用程序提供下面中的两条信息:

  1. 运行 SQL Server 实例的计算机所在的网络名称。
  2. 实例名(可选,只有在连接到命名实例时才需要)。
  3. 登录标识符 (ID)。
  登录 ID 是帐户标识符,用来控制对任何 SQL Server 2000 系统的访问权限。SQL Server 2000 只有在首先验证了指定的登录 ID 有效后,才完成连接。这种登录验证称为身份验证。
  在登录属性中,有一个是默认数据库。当一个登录连接到 SQL Server 时,这个默认数据库就变成该连接的当前数据库,除非该连接请求指定另一个数据库作为当前数据库。
  登录 ID 仅能使您连接到 SQL Server 实例。特定数据库内的权限由用户帐户控制。数据库管理员将您的登录帐户映射到您有权访问的任何数据库中的用户帐户。
Windows 身份验证
  • SQL Server 2000 sysadmin 固定服务器角色成员必须首先向 SQL Server 2000 指定所有允许连接到 SQL Server 2000 的 Microsoft Windows NT® 或 Microsoft Windows® 2000 帐户或组。当使用 Windows 身份验证时,在连接到 SQL Server 2000 时不必指定登录 ID 或密码。用户对 SQL Server 2000 的访问权限由 Windows NT 或 Windows 2000 帐户或组控制,当登录到客户端上的 Windows 操作系统时需接受身份验证。
  • 当连接到 SQL Server 2000 时,SQL Server 2000 客户端软件向 SQL Server 2000 请求 Windows 信任连接。直到客户端使用有效的 Windows 帐户成功登录后,Windows 才打开信任连接。信任连接的属性包括打开连接的客户端的 Windows NT 和 Windows 2000 组及用户帐户。SQL Server 2000 从信任连接属性中得到用户的帐户信息,并将它们与定义为有效 SQL Server 2000 登录的 Windows 帐户相匹配。如果 SQL Server 2000 找到匹配的项,则接受这个连接。当使用 Windows 2000 身份验证连接到 SQL Server 2000 时,用户标识即是 Windows NT 或 Windows 2000 组或用户帐户。
  • Microsoft Windows Me 和 Windows 98 操作系统不支持服务器端的信任连接 API。SQL Server 在 Windows Me 或 Windows 98 上运行时不支持 Windows 身份验证。用户在连接时必须提供 SQL Server 登录帐户。当 SQL Server 在 Windows NT 或 Windows 2000 上运行时,Windows Me、Windows 98 和 Windows 95 客户端可以使用 Windows 2000 身份验证与其连接。
SQL Server 身份验证
  • sysadmin 固定服务器角色成员首先向 SQL Server 2000 指定所有有效的 SQL Server 2000 登录帐户和密码。这些登录帐户和密码与用户的 Microsoft Windows 帐户或网络帐户无关。当连接到 SQL Server 2000 时,用户必须提供 SQL Server 2000 登录帐户和密码。系统将通过用户的 SQL Server 2000 登录帐户在 SQL Server 2000 中标识用户。

  由此可以看出,SQL Server 2000 安全控制是由登录>>用户>>权限来得到控制的。因此要连接 SQL Server 2000,首先要经过身份验证,要通过身份验证,就必须拥有登录 ID。

  一、登录 ID 的获取

  SQL Server 2000 使用两类身份验证:Windows 身份验证和 SQL Server 身份验证(注:Microsoft Windows Me 和 Windows 98 操作系统不支持服务器端的信任连接 API,也就是说安装在 Microsoft Windows Me 和 Windows 98 操作系统上的 SQL Server 2000 不支持 Windows 身份验证)。

  1. 为 Windows 身份验证的登录 ID 的获取

    对于有域的网络,在域用户管理器中添加域用户,设为:UserSQL
    对于无域的网络,在用户和组中添加用户,设为:UserSQL

    向本地计算机中添加 Windows 用户(以 Windws XP 为例)

    下图举例说明在 Windows XP 添加用户,打开 Windows 资源管理器,右键单击 [我的电脑] 选择 [管理] 就打开了 [计算机管理],在 [计算机管理] 中,展开 [本地用户和级] 右键单击 [用户] 选择 [新用户],这时打开 [新用户] 窗口,输入用户名为 UserSQL,描述为 SQL Server 登录 ID(可选,方便以后管理),输入密码,去掉“用户下次登录时必须更改密码”(为了讲解简单点),勾选“用户不能更改密码”和“密码永不过期”,然后点击 [创建] 按钮,这时就为该计算机创建了一个名为 UserSQL 的用户。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    到此该用户还不能用来连接 SQL Server 2000 数据库,还必须在 SQL Server 2000 中创建“登录”与刚建的用户相对应。

    A. 使用 SQL Server 2000 企业管理器添加 Windows 用户的登录 ID

    下面举例说明如何在 SQL Server 2000 的企业管理器中创建“登录”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份(因为这两个登录拥有 SQL Server 2000 sysadmin 角色的权限)连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 [安全性] 节点,右键单击 [登录] 选择 [新建登录],这时会打开 [SQL Server 登录发生 -- 新建登录] 窗口,在 [常规] 标签下,点击 [名称] 右侧的 [...] 按钮浏览 Windows 用户名,如下图,列出了本地服务名(MYDESK)的用户,在列表中选择上一步创建的 Windows 用户 UserSQL,然后点击 [添加] 按钮将其添加到 [添加名称] 中,点击 [确定] 按钮。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    然后,要为 UserSQL 登录选择默认数据库,如下图,选择“NorthwindCS”,点击 [确定] 按钮。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    可是这时弹出一个错误提示框,如下图,说用户没有访问 NorthwindCS 数据库的权限,不要紧,这个问题留待后面的创建数据库用户再进行讲解,点击 [是],到此为止,在 SQL Server 2000 中创建了一个登录 UserSQL,并选择默认数据库为 NorthWindCS。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    B. 使用 osql 向本地 MSDE 2000 添加 Windows 用户的登录 ID

    由于 MSDE 2000 没有企业管理器,可以通过 Osql 运行系统的存储过程 sp_grantlogin 达到同样的目的,下图是用 osql 向本地 MSDE 2000 添加 Windows 用户的登录 ID。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

  2. 为 SQL Server 身份验证的登录 ID 的获取

    A. 使用 SQL Server 2000 企业管理器添加登录 ID

    下面举例说明如何在 SQL Server 2000 的企业管理器中创建“登录”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份(因为这两个登录拥有 SQL Server 2000 sysadmin 角色的权限)连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 [安全性] 节点,右键单击 [登录] 选择 [新建登录],这时会打开 [SQL Server 登录发生 -- 新建登录] 窗口,在 [常规] 标签下,在 [名称] 右侧的文本输入框输入登录名 UserX,然后选择 SQL Server 身份验证单选器,输入该登录 ID UserX 登录 SQL Server 要用的密码,然后,为 UserX 登录选择默认数据库,如下图,选择“NorthwindCS”,点击 [确定] 按钮,这时会弹出密码确认对话框,重新输入一次密码,点击 [确定] 按钮,即可。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    可是这时弹出一个错误提示框,如下图,说用户没有访问 NorthwindCS 数据库的权限,不要紧,这个问题留待后面的创建数据库用户再进行讲解,点击 [是],到此为止,在 SQL Server 2000 中创建了一个登录 UserX,并选择默认数据库为 NorthWindCS。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

    B. 使用 osql 向本地 MSDE 2000 添加登录 ID

    通过 Osql 运行系统的存储过程 sp_addlogin 添加登录 ID,下图是用 osql 向本地 MSDE 2000 添加登录 ID 为 UserX 密码为 123456 默认数据库为 NorthwinCS 的登录 ID。

    screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片"> 

  二、数据库用户的设置

  登录 ID 本身并不提供访问数据库对象的用户权限。一个登录 ID 必须与每个数据库中的一个用户 ID 相关联后,用这个登录 ID 连接的人才能访问数据库中的对象。如果登录 ID 没有与数据库中的任何用户 ID 显式关联,就与 guest 用户 ID 相关联。如果数据库没有 guest 用户帐户,则该登录就不能访问该数据库,除非它已与一个有效的用户帐户相关联。

A. 使用 SQL Server 2000 企业管理器在 NorthwindCS 数据库上添加用户

  下面举例说明如何在 SQL Server 2000 的企业管理器中创建数据库“用户”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 NorthwindCS 数据库节点,右键单击 [用户] 选择 [新建数据库用户],打开数据库用户属性对话框如下图,首先选择登录名,本例为 MYDESK\UserSQL,这时用户名输入文本框中出现默认的用户名 MYDESK\UserSQL,本例不作修改,使用默认值。为了能使该用户拥有对该数据库的全部权限,勾选数据库角色成员列表中的 db_owner,点击 [确定] 按钮,就为该数据库创建了一个名为 MYDESK\UserSQL 的用户,并与登录 ID MYDESK\UserSQL 相关联。

screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片">

B. 使用 osql 在 NorthwindCS 数据库上添加用户

  下图使用 osql 在 NorthwindCS 数据库中添加用户 ID MYDESK\UserSQL 和 UserX 分别与登录 ID MYDESK\UserSQL 和 UserX 相关联,并把它们均设为数据库的 db_owner 角色。

screen.width-333)this.width=screen.width-333" border=0 dypop="按此在新窗口浏览图片">

 

screen.width-500)this.width=screen.width-500" border=0>
中国 access XP FAQ 网站

发布人:zhuyiwen…-Access中国  
分享到:
点击次数:  更新时间:2003-12-28 06:37:48  【打印此页】  【关闭】
上一条:在ACCESS2000中如何用VBA代码打开一个带有密码的数据库  下一条:ACCESS数据库在网络使用中保持同步返回



相关文章

  • • 实验报告 --DAO与ADO效率之比较
  • • 用代码创建mdb格式的Access文件
  • • 连接后台数据库提示 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开 的解决办法
  • • 64位windows系统如何使用64位的ADO连接Accesss accdb数据库(ACE.OLEDB)
  • • Access的DAO准确获取记录集Recordset的记录数Recordcount
  • • 利用代码自动创建ODBC源
  • • 在打开Ado记录集之前尽量先判断记录集有否打开,如打开则先关闭之
  • • 快速获取Excel文件所有工作表表名

热门文章

  • [2005-02-18] SQL语句集锦5access数据库
  • [2004-11-23] 注意时间格式在sql server中更新带来的麻烦access数据库
  • [2005-02-06] 如何更改Access表的字段名access数据库
  • [2004-11-23] 使用SQL语句创建表中的自动编号字段并定义为主键access数据库
  • [2003-12-06] 自定义链接后端数据库access数据库
  • [2017-03-06] 通过字段名来获取字段标题的函数access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn