毕业设计(论文)-通用用户管理机制的设计与实现.doc_第1页
毕业设计(论文)-通用用户管理机制的设计与实现.doc_第2页
毕业设计(论文)-通用用户管理机制的设计与实现.doc_第3页
毕业设计(论文)-通用用户管理机制的设计与实现.doc_第4页
毕业设计(论文)-通用用户管理机制的设计与实现.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通用用户管理机制的设计与实现目录一、引言1二、设计思想1三、方案和设计分析1(一)目标1(二)范围2(三)需求2(四)术语列表2四、模块分析2(一)数据范围:2(二)数据项3(三)权限复制3五、实现细节3(一)Windows系统用户管理31.用户账户管理32.系统所支持的两种账户类型33.系统自动创建的常见内置账户34.本地用户账户的管理45.组账户的管理4(二)IIS、NTFS、ASP.NET 集成验证体系51.IIS 验证机制52.NTFS验证机制53.ASP.NET认证6(三)程序实现81.数据范围模块92.数据项模块93.权限复制模块12结束语 12致谢12参考文献12- 1 -用户管理系统的设计与实现摘要 本文通过网络石油销售系统来完成用户管理系统的设计与实现,采用IIS与Asp.Net开发,完成了用户权限的管理与控制.本系统采用数据驱动的开发模式,采用平台结构,系统流程可以进行配置,有很大的灵活性.关键字 视图,数据范围,数据项,模板.一、 引言21世纪全世界的计算机都将通过Internet联到一起,信息安全的内涵也就发生了根本的变化。它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在。网络安全产品有以下几大特点:第一,网络安全来源于安全策略与技术的多样化,如果采用一种统一的技术和策略也就不安全了;第二,网络的安全机制与技术要不断地变化;第三,随着网络在社会各方面的延伸,进入网络的手段也越来越多,因此,网络安全技术是一个十分复杂的系统工程。为此建立有中国特色的网络安全体系,需要国家政策和法规的支持及集团联合研究开发。安全与反安全就像矛盾的两个方面,总是不断地向上攀升,所以安全产业将来也是一个随着新技术发展而不断发展的产业。网络防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态。虽然防火墙是目前保护网络免遭黑客袭击的有效手段,但也有明显不足:无法防范通过防火墙以外的其它途径的攻击,不能防止来自内部变节者和不经心的用户们带来的威胁,也不能完全防止传送已感染病毒的软件或文件,以及无法防范数据驱动型的攻击。鉴于防火墙技术的不足之处,因此只有采用用户权限设置来设定用户所具有的操作权限,让用户只能做权限允许的操作。这样就能够很好的保护数据的安全。二、 设计思想系统包括3个部分,分别是:事务处理,投资计划管理和数据统计。在事务处理菜单下,用户可以处理用户相应权限下的事务。在投资计划管理菜单下,用户可以实现实体管理,项目管理以及资源管理,同时可以处理相应的附加表的数据。在数据统计菜单下,用户可以进行报表查询和数据查询。为方便用户使用,本系统还提供了辅助工具菜单,在该菜单下,用户能够方便的设置自己关心的事务、配制报表以及实现数据初始化。另外,本系统还具有自定义业务数据表的功能。用户可以通过系统管理员,自行定义实体表,项目表和相应的附加表,此外还可以修改原有的表项,如增加,修改,删除原表的字段。另外,报表的格式也可以由用户自行定义和修改。用户可以通过关联的实体、项目及其相关的附加表进行组合查询。本系统采用数据驱动,大部分功能都可以采用配置来完成,这就提高了系统的灵活性,用户权限也由系统管理员配置完成,能够精确到每个数据表的每个字段。三、 方案和设计分析 (一) 目标实现投资、设备运营的智能化管理,解放人力,从而可以集中更多的精力来研究投资、控制关键环节。实现各项数据任意组合查询、输出Execl报表。 (二) 范围本系统属于炼油销售中规划计划里的04-投资实施计划。系统包括:投资统计,网络运营监控与分析,设备维护及采购登记,投资档案管理,工程建设管理。所有项目经过立项审批过程。 (三) 需求用户需求主要包括以下几方面:项目类型和需求,投资计划,计划上报,计划审核,计划汇总,计划审批,计划下达,下发审核通知. (四) 术语列表简要设计方案列出以下名词,用以了解系统功能组织机构:一个树型结构,树上的每个接点称之为一个单位,以表示实际存在的单位组织结构以及隶属关系。用户:每个单位下实际存在的用户,采用Ptr域账户身份验证,唯一标识当前登陆用户身份。数据字典:树型结构,定义系统用到的一些相对固定的常量。项目类型:树型结构,包含实体(加油站、油库)信息和项目(新建、改造)信息,定义新发生的项目是否要增加实体信息(主要用于新建项目和改造项目之间的区别)。实体模板:简单表(ProjectID_EntitySort)描述实体的基本信附带模板。项目模板:与实体的数据表,为树型表,描述项目各相关信息的结构,可以指定信息是否为单行或者多行,各个子表之间靠ID关联,附带模板。字段:字段名由系统自动生成(Field_Sort),可以定义名称、类型、长度、小数位数、工程单位、默认值(可以为空)、最大值、最小值、字典编号、说明等信息。消息状态:描述项目所处的各个状态也可以说是项目经过的每个流程。功能:描述自定义的各个功能对消息状态如何驱动,0为特殊驱动,表示不发生消息状态的变更,每个功能都承担保存的工作、打印(或导出到EXECL表的功能),用户组承担功能后可以对功能名称修改。组:描述逻辑上存在于组织机构内、具有相同数据操控能力的用户群。组对所隶属单位的某种消息状态的信息可以访问组对可以访问的信息具有某些操作功能,某些组对项目具有新建的功能,用户隶属于某个组,就继承了该组的权限,不同的消息状态可以控制项目信息中要显示的字段(实体信息应该可以看),显示的字段可以控制只读还是可写。四、 模块分析 (一) 数据范围:数据范围是用户组对每个视图的访问权限,只有具有访问权限的用户才能对视图进行操作。在视图管理模块,定义视图,视图由数据表,项目状态(也即项目在流程中的每个状态,对于项目附加表,则包含有项目的状态)构成,由此来定义项目在每个流程所涉及到的数据表。数据范围由视图,用户组、用户组所对应的组织机构、用户组所具有的操作权限构成,由此来限定每个登录用户在各个流程中所能看到的数据表。确定用户对某张数据的视图中的数据的访问范围,例如:沈阳销售分公司的使用用户原则上只能对本单位数据进行操作,而辽宁销售分公司的用户原则上也只能对辽宁销售分公司的数据进行操作。如果辽宁分公司要看沈阳分公司的数据,就必须对辽宁分公司用户的数据访问范围进行重新分配为辽宁分公司和沈阳分公司。数据访问范围主要是界定每个权限组的数据访问范围,并进行管理设定。数据范围是以单位为基本界定单元的。用户组对此数据表所能进行的操作则由视图的操作权限来限制。操作权限包含浏览,新建、修改、删除等。浏览权限则用户只能看到此视图下的数据,而不能进行其他操作;新建权限则用户能够在此视图对应的数据表中新建记录;修改则可以修改数据表记录;删除则可以删除数据表记录。 (二) 数据项数据项是对每个用户组对各个视图的各字段的访问权限。数据范围仅限定了用户对视图对应的数据表的具有的操作,而在各个流程中,不同用户在此流程中对此视图对应的数据表能够操作的字段不同,有的用户可以操作此字段,有的用户不可以操作此字段,因此要用数据项来限定用户对数据表字段的访问权限。 (三) 权限复制由于用户组是根据用户级别和用户所属单位来分,在对于用户级别来说,同级别的用户所具有的权限相同,然而对于不同的单位的用户来说,他只能够操作本单位的数据,而不能够操作其他单位的数据。而权限复制就是用来把不同单位的相同级别的用户组的权限复制给同级别的其他单位的用户组,这样其他单位的用户组同级别的用户组也就具有了相同的数据访问权限。五、 实现细节 (一) Windows系统用户管理1.用户账户管理每个用户都必须要有一个账户,以便利用这个账户登录到域,然后访问网络上的资源,或者利用这个账户登录到某台计算机,然后访问该计算机内的资源。2.系统所支持的两种账户类型 域用户账户存储在域控制器的Active Directory 数据库内。用户可以利用域用户账户登录域,并利用它访问网络上的资源。当用户利用域用户账户登录时,这个账户数据会被送到域控制器内,并由域控制器检查用户所输入的账户名称和账户密码是否正确。在将用户账户创建在某台域控制器后,这个账户会被自动复制到同一个域内的其他所有域控制。因此,当用户登录时,该域内的所有域控制器都可以检查用户所输入的账户名称和账户密码是否正确。 本地用户账户是创建在非域控制器的“本地安全账户数据库”内,而不是域控制器的Active Directory数据库内。用户可以利用本地用户账户登录该账户所在的计算机,但是这个账户只能访问这台计算机内的资源,无法访问其他计算机内的资源,且必须输入本计算机内的账户名称和账户密码。本地用户账户只能存在于本地计算机,它们既不会被复制到域控制器的活动目录,也不会被复制到其他计算机的“本地安全账户数据库”内。当用户利用本地账户登录时,由这台计算机利用其中的“本地安全账户数据库”检查账户名称和账户密码是否正确。3.系统自动创建的常见内置账户Administrator(系统管理员):拥有最高的权限可以用它管理计算机域内的设置,例如创建/更改/删除用户和组账户、设置安全策略,设置用户权限等。Guest(客户):供用户临时使用的账户,这个账户只有少部分的权限。用户在网络上,另一台计算机连接上自己的计算机时,系统会自动利用该用户在登录自己的计算机时所输入的账户名称和账户密码进行连接。4.本地用户账户的管理本地用户账户创建在计算机的“本地安全账户数据库”内,而不是域控制器的活动目录里。用户可以利用本地用户账户登录该账户所在的计算机内,但是无法登录域,同时只能访问这台计算机内的资源,无法访问网络上其他计算机内的资源。仅在加入域的计算机内创建本地用户账户,如果用户的计算机隶属于域,则应该为这些用户在域控制器上创建域用户账户,然后要求利用这些域账户登录。尽量不要让域用户利用本地用户账户登录,因为无法在域内任何一台计算机上给其他计算机的本地用户账户设置权限,因此这些账户将无法访问其他计算机内的资源。也就是说在域的环境下,用户账户最好都是创建在域控制器的活动目录内。5.组账户的管理如果能够用组来管理用户账户,那么一定能够减轻许多网络管理的负担。例如:当用户针对“业务部”设置权限后,“业务部”的所有用户都能够自动拥有该权限,不需要单独设置每个用户的权限。 本地组账户:组账户被存储在“本地安全账户数据库”内。本地组用户只能够在本地计算机内使用,也就是它们只能够访问本地计算机内的资源。换句话来说,无法设置其他计算机内的本地组账户的权限,其他计算机也无法设置该计算机内本地组账户的权限。 域账户组:拥护可以在扮演域控制器的计算机中创建组,这些组账户被存储在Active Directory数据库内。这些组能够被使用在整个域目录里的所有计算机上,也就是它们能够访问所有计算机内的资源(只要它被授予适当的权限)。域组又可以分为l 安全组:安全组可以被用来设置权限,例如,可以设置安全组对文件具备“读取”的权限。安全组也可以用在与安全无关的任务上,例如:可以通过电子邮件将电子邮件发送给拥护组。l 分布式组:分布式组是功用在与安全(权限设置等)无关的任务上,例如:可以通过电子邮件软件将电子邮件发送给分布式用户组。用户无法设置分布式组的权限。l 组用户使用的领域:通用组,全局组,本地域组。 通用组:可以指派所有域中的访问权限,以便访问每个域内的资源。通用组具备“通用范围”的权限,其成员能够包含整个域目录里每个域内的用户、通用组、安全组。但是无法包含每个域内的本地域组。通用组可以访问任何一个域内的资源,也就是说,可以在任何一个域内指派通用组的权限(这个通用组可以在同一个域内,也可以在另一个域内),以便可以让该通用组具备权限来访问该域中的资源。 全局组:主要用来组织用户,也就是可以将多个即将被赋予相同权限的用户账户加入到同一个全局组中。全局组内的成员,只能够包含与该组相同域中的用户与全局组,也就是说只能够将同一个域中的用户或其他全局组加入到全局组内。全局组可以访问任何一个域中的资源,就是说可以在任何一个域内指派全局组的使用权限(这个全局组可以在同一个域中,也可以在另一个域中),以便让该全局组具备权限来访问该域内的资源。 本地域组:主要用来指派在其所属域内的访问权限,以便可以访问该域内的资源。本地域组内的成员,能够包含任何一个域内的用户、通用组、全局组;它还能够包含同一个域内的本地域组;但是它 包含其他域内的本地用户组。本地域组只能够访问同一个域内的资源,无法访问其他不同域内的资源;换句话说,在某台计算机上指派权限时,只可以指派同一个域内的本地域组的权限,但是无法指派其他不同域内的本地域组的权限。 (二) IIS、NTFS、ASP.NET 集成验证体系1.IIS 验证机制IIS有五种验证方式:允许匿名访问、基本验证、集成验证、windows域服务器的摘要身份验证、.net Passport身份验证。 匿名访问匿名访问在IIS认证中的安全性最低。安装IIS之后,在安装的计算机上将生成IUSR_Computername匿名账户。该账户被添加到域用户组中,从而把应用于域用户组的访问权限提供给访问Web服务器的每个匿名用户,其匿名访问给Web服务器带来潜在的安全性问题,不仅给IIS带来潜在危险,而且还可能威胁整个域资源的安全,应对其权限加以控制。所以要尽可能避免把IIS服务器安装在域控制器上,尤其是主域控制器上。 基本验证用户名和口令以明文方式在网络上传输,安全性能一般。在采用基本验证方式登录IIS时,会将用户名和密码以未加密的方式传送,使用网络监视工具即可取得使用者名称和密码。 集成验证集成验证仅在禁用匿名访问,或在 NTFS 权限要求用户通过有效 Windows 用户账户、用户名和密码证明身份时进行。集成验证最终也是需要通过NTFS权限的。在采用集成验证时,用户名称和密码不会在网络上传输,而是以客户端的浏览器以加密方式传输。 摘要身份验证摘要身份验证,于使用者登录IIS时,输入使用者名称和密码来进行连接,所透过网络传输的是杂凑值而非密码。摘要验证可以跨越Proxy伺服器或其他防火墙。【伺服器】方面:只有在具有Windows 2000的网域主控站之网域,才能使用摘要式验证方式。 2.NTFS验证机制NTFS认证方式包括:匿名认证、基本认证、Windows集成认证。 匿名认证不需要登录,允许任何人访问使用此方法保护的数据。服务器使用一个内置账户(IUSER_计算机名)控制文件上的权限。在服务器上定义的“匿名”用户账户必须具有“在本机登录”权限。浏览器不使用此类请求发送任何凭据或用户信息。 基本认证服务器请求用户登录,并在浏览器中显示一个对话框,使用户可以输入所需的凭据。这些凭据必须与在用户尝试访问的文件上定义的用户凭据相匹配,用户账户必须具有“在本机登录”权限,但是不十分安全,密码容易被解码。 Windows集成认证服务器请求用户登录,IIS 请求身份验证。 如果客户端尚未登录到域,在 Internet Explorer 中将出现一个对话框以请求凭据,然后联系 KDC 以请求并接收授权票证的票证。然后将授权票证的票证与有关 IIS 服务器的信息一起发送到 KDC。 如果 IE 客户端已经成功登录到域,而且接收了授权票证的票证,它将把此票证与有关 IIS 服务器的信息一起发送到 KDC ,KDC 向客户端颁发资源票证,客户端将此票证发送到 IIS 服务器。 在票证授权服务器 (KDC) 生成的票证进行身份验证。它将此票证发送到 IIS 服务器(浏览器“不”将用户的密码发送到服务器)。3.ASP.NET认证 ASP.NET 与 NTFS、 IIS、.NET集成验证体系ASP.NET 与 NTFS、 IIS、.NET 框架和操作系统所提供的基础安全服务配合使用,共同提供一系列身份验证和授权机制,如图1所示(由于IIS与NTFS一般是一起采用Windows集成验证,因此在下图没有表现NTFS验证):图1 ASP.NET 安全服务当客户端发出 Web 请求时,就会发生下面一系列身份验证和授权事件:l 接收来自网络的 HTTP(S) Web 请求。可以使用 SSL 确保服务器身份(使用服务器证书)和客户端身份(可选)。 注意:SSL 还提供了一个安全通道,以便保护在客户端和服务器之间传送的机密数据。 l IIS 使用基本、摘要、集成(NTLM 或 Kerberos)或证书身份验证对调用方进行身份验证。如果站点的所有或部分内容不需要经过身份验证即可访问,则可以将 IIS 配置为使用匿名身份验证。IIS 为每个已验证的用户创建一个 Windows 访问令牌。如果选择匿名身份验证,则IIS 为匿名 Internet 用户账户(默认情况下为 IUSR_MACHINE)创建访问令牌。 l IIS 授予调用方访问所请求资源的权限。使用附加到所请求资源的 ACL 定义的 NTFS 权限授权访问。IIS 也可以配置为只接受来自特定 IP 地址的客户端计算机的请求。 l IIS 将已验证的调用方的 Windows 访问令牌传递到 ASP.NET(如果使用的是匿名身份验证,则它可能是匿名 Internet 用户的访问令牌)。 l ASP.NET 对调用方进行身份验证。如果将 ASP.NET 配置为使用 Windows 身份验证,则此时不会发生任何其他的身份验证。ASP.NET 将接受它从 IIS 收到的任何令牌。如果将 ASP.NET 配置为使用表单身份验证,将根据数据存储(通常为Microsoft SQL Server 数据库或 Active Directory 目录服务)对调用方提供的凭据进行身份验证(使用 HTML 表单)。如果将 ASP.NET 配置为使用 Passport 身份验证,则将用户重定向到 Passport 站点,然后Passport 身份验证服务对用户进行身份验证。 l ASP.NET 授权访问所请求的资源或操作。 UrlAuthorizationModule(系统提供的 HTTP 模块)使用在Web.config 中配置的授权规则(具体来说就是 元素),确保调用方可以访问所请求的文件或文件夹。在 Windows 身份验证中,FileAuthorizationModule(另一个 HTTP 模块)检查调用方是否具有访问所请求资源的必要权限。将调用方的访问令牌与保护资源的 ACL 进行比较。也可以使用 .NET 角色(以声明方式或编程方式)确保给调用方授予访问所请求资源或执行所请求操作的权限。应用程序中的代码使用特定标识来访问本地和/或远程资源。默认情况下,ASP.NET 不执行模拟,因此,配置的 ASP.NET 进程账户提供标识。也可以选择原调用方的标识(如果启用了模拟)或已配置的服务标识。 网关守卫ASP.NET Web 应用程序中的授权点(或关守)是由 IIS 和 ASP.NET 提供的:l IIS如果关闭了匿名身份验证,则 IIS 只允许来自特定用户的请求,即它可以在其自己的域或受信任域中验证这些用户的身份。对于静态文件类型(例如 .jpg、.gif 和 .htm 文件,即没有映射到 ISAPI 扩展的文件),IIS 使用与所请求文件关联的 NTFS 权限执行访问控制。l ASP.NETASP.NET 关守包括 UrlAuthorizationModule、FileAuthorizationModule 以及主体权限要求和角色检查。UrlAuthorizationModule:可以配置应用程序 Web.config 文件中的 元素,控制哪些用户和用户组可以访问应用程序。授权是以存储在 HttpContext.User 中的 IPrincipal 对象为基础。FileAuthorizationModule:对于由 IIS 映射到ASP.NET ISAPI 扩展 (Aspnet_isapi.dll) 的文件类型,使用已验证用户的 Windows 访问令牌(可能为 IUSR_MACHINE),根据附加到所请求的 ASP.NET 文件中的 ACL 自动执行访问检查。注意:要进行文件授权,并不要求模拟. FileAuthorizationModule 类仅对所请求的文件执行访问检查,而不对所请求页面中的代码访问的文件执行访问检查,但 IIS 对这些文件执行访问检查。例如,如果您请求 Default.aspx 并且它包含一个嵌入的用户控件 (Usercontrol.ascx),该控件又包含一个图像标记(指向 Image.gif),则FileAuthorizationModule 对 Default.aspx 和 Usercontrol.ascx 执行访问检查,因为 IIS 将这些文件类型映射到 ASP.NET ISAPI 扩展。 FileAuthorizationModule 不对 Image.gif 执行检查,因为它是由 IIS 内部处理的静态文件。但是,由于 IIS 对静态文件执行访问检查,因此,仍须使用进行相应配置的 ACL 给已验证用户授予读取该文件的权限。图2中显示了此方案: 图2 IIS 和 ASP.NET 关守一起使用系统管理员注意事项:需要给已验证用户授予读取此方案中涉及的所有文件的 NTFS 权限。唯一的变化是使用哪个关守来执行访问控制。ASP.NET 进程账户只需要读取 ASP.NET 注册文件类型的访问权限。 在此方案中,您可以在文件入口处禁止访问。如果您配置了附加到 Default.aspx 的 ACL 并且拒绝访问某个特定的用户,则 Default.aspx 中的代码无法将用户控件或任何嵌入图像发送到客户端。如果该用户直接请求图像,则 IIS 亲自执行访问检查。主体权限要求和明确的角色检查除了可以用 IIS 和 ASP.NET 配置的关守外,还可以将主体权限要求(以声明方式或编程方式)用作附加的细分访问控制机制。通过使用主体权限检查(由 PrincipalPermissionAttribute类执行),您可以根据各个用户的标识和组成员身份(由附加到当前线程的IPrincipal 对象定义)控制对类、方法或个别代码块的访问。注意:用于请求角色成员身份的主体权限要求与调用 IPrincipal.IsInRole来测试角色成员身份不同;如果调用方不是指定角色的成员,则前者产生异常,而后者仅返回一个布尔值以确认角色成员身份。 在 Windows 身份验证中,ASP.NET 自动将一个代表已验证身份用户的WindowsPrincipal 对象连接到当前的 Web 请求(使用 HttpContext.User)。表单身份验证和 Passport 身份验证创建具有相应标识但没有角色的 GenericPrincipal 对象,并将它附加到 HttpContext.User。 (三) 程序实现本系统仅有在PetroChina的用户域(域名为:Ptr)内的用户才可以登录本系统,用户登录采用集成Windows验证,通过Windows验证后,然后获取用户权限。系统首先在用户表(SYSUser)中检验此用户是否存在,如果不存在则系统没有访问本系统的权限;如果本用户具有登录系统的权限则检验本用户的权限。根据用户的权限来决定本用户所能够访问的页面。不同的用户所能访问的页面是不同的。如果是系统管理员,则此用户可以对系统进行设置和对用户的权限进行设置。如果用户不是系统管理员则仅可以对业务页面进行访问。系统在最初没有任何配置(也可以在设计阶段有开发者对系统进行设置)因此要先完成系统的基础数据的配置,例如用户组,组织结构,数据表等,只有配置好基本的系统数据,才能进行业务处理。然后配置用户组权限,包括用户组可以访问的视图以及视图中的字段。配置好一套权限组(本系统包括股份公司组、大区公司组、地区公司组)的权限后可以采用权限的复制的方式把用户权限复制给同级别的其他用户组。在系统的基础数据、用户组权限配置好后就可以进行正常的业务流程了。1.数据范围模块视图由数据表以及数据表的状态构成(对于实体视图则没有状态),数据范围由视图,用户组、对应组织机构、操作方式构成。其数据结构为:RightGroupAccessTableView(视图)字段名是否标识是否关键字是否可空类型说 明ViewIDYInt视图IDFlagYInt标志TableIDYInt表IDRelationStatusIDYInt关系状态IDStatusIDYint状态IDRightGroupAccessTableViewData(数据范围)字段名是否标识是否关键字是否可空类型说 明GroupIDYInt用户组IDViewIDYInt视图IDOrgIDYInt单位IDCanViewBit是否可浏览CanEditbit是否可修改CanDeleteBit是否可删除CanAddbit是否可添加在添加数据范围操作中要选定用户组、组织机构、视图,对每一项都可以多选,采用循环添加每个数据范围,在添加过程中只添加未存在的数据范围,对于已存在的数据范围则跳过。由于可能添加了不需要的数据范围,而此数据范围又在其他表中被引用,此时没有定义参照完整性,而是采用定时清理垃圾数据的方式来维护数据范围,避免在视图维护中不能够删除视图。2.数据项模块数据项就是用户能够有权限访问的某个视图内的某些数据字段。在一个视图中,包含了所有数据字段。用户在不同的视图下需要操作的数据字段是不一样的,例如:录入用户只能看见在录入中状态下需要使用的某个项目表中的某些字段,而不是全部字段,那么该录入用户对于在列入计划状态中的大区公司用户修改或填报的某些数据字段是不允许看的,或者是允许看但不能修改的,所以在不同的状态下,同一个用户对同一个项目表的同一字段的操作权限是不一样的。为了完成不同用户对不同状态下同一个项目表中相同字段的访问权限的功能,系统通过数据项来完成此功能。数据项的功能就是是界定用户对项目表中字段在不同状态下的访问权限。对数据字段的访问权限是以数据访问范围和表访问为前提条件的。用户对某个数据访问范围内的某个项目表至少具有查看的权限,才能界定用户对该表中的数据字段具有操作权限。数据项中可以授权给用户对数据字段的权限有两种:只读和读写。只读就只能对该字段的内容具有查看权限。RightGroupAccessTableViewField(视图字段)字段名是否标识是否关键字是否可空类型说 明FieldIDYInt字段IDGroupIDYInt用户组IDViewIDYInt视图IDOrgIDYInt单位IDReadOnlyBit是否只读程序实现: 视图,数据范围,数据项相结合在程序实现中来完成用户权限的读取和限制,以下程序段为实现的伪代码:获取项目表数据Private Sub cbo_Table_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo_Table.SelectedIndexChangedGetStatus()获取项目的可访问状态GetTableData(0)取得项目可访问数据CheckUserRight() 检验用户可操作权限End Sub取得项目可访问数据Private Sub GetTableData(ByVal iIndex As Integer, Optional ByVal bFindRecord As Boolean = False)创建项目表定义数据、字段-获取全部数据-因为所有场景在1个界面上显示,所以要把所有状态循环一下拼装数据列,把用户有权限可操作的字段合并成一个表获取当前场景下用户所能访问的字段拼凑数据结构获取当前场景下的数据拼数据-获取当前状态下的数据-获取场景获取当前场景的数据列获取用户对当前场景的项目数据删除列增加删除提示End Sub检验用户可操作权限Private Sub CheckUserRight() Try清除上次操作功能分两种情况进行判别 If cbo_Status.SelectedItem.Value = 0 ThenDim bDeleteVisible As Boolean = FalseFor i = 0 To dgProject.Items.Count - 1获取当前场景获取用户对当前场景的编辑权限获取用户对当前场景的读写视图获取用户对当前场景的操作权限判断删除权限新增功能获取用户对当前场景的编辑权限Else获取当前场景获取用户对当前场景的编辑权限获取用户对当前场景的读写视图获取用户对当前场景的操作权限判断修改、删除权限判断新增功能判断操作功能End IfEnd Sub3.权限复制模块选取已定义完整的权限作为权限复制的源,然后选取要设置权限的用户组以及对应的组织机构和要复制的权限范围,则源用户权限复制到目的用户组的权限设置中去,源用户组权限只能复制到同一级别的用户组权限设置中去。结束语在此开发阶段,学习到不少课本上没有的东西,增加了实践,增加了项目开发的经验,由于用户管理是一个比较广的方面,有很多理论体系,本人水平有限,因此很多理论不能够很好的理解,因此在以后的工作中要努力学习。参考文献1戴有炜Windows Server 2003 用户管理指南M清华大学出版社,2003.92陈惠贞 陈俊荣ASP.Net 程序设计M中国铁道出版社,2004.63周 靖ADO.Net本质论M清华大学出版社,2003.44李晓黎 张巍ASP+SQL Server网络应用系统开发与实例M人民邮电出版社,2004 5萨师煊 王珊数据库系统概论M高等教育出版社,1991 6飞思科技产品研发中心SQL Server高级管理与开发M电子工业出版社 ,2002 7耿骞 袁名敦 肖明信息系统分析与设计M高等教育出版社,2004 The Design And Realization Of the Users ManagementAbstract In this article ,we complete the design and realization of the Users management by The System of Sales Investment of Petrochina. Base on IIS & Asp.Net to complete

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论