asp.net论文教务管理平台-权限及公共模块设计与开发_第1页
asp.net论文教务管理平台-权限及公共模块设计与开发_第2页
asp.net论文教务管理平台-权限及公共模块设计与开发_第3页
asp.net论文教务管理平台-权限及公共模块设计与开发_第4页
asp.net论文教务管理平台-权限及公共模块设计与开发_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

教务管理平台权限及公共模块设计与开发论文作者姓名申请学位专业申请学位类别指导教师姓名(职称)论文提交日期教务管理平台权限及公共模块设计与开发摘要随着教育改革的不断深化,高等院校的建设与发展对国民整体素质的提高起着越来越重要的作用,建立一套能够适应这些改变的行政管理方案也就显得尤为重要。对于教务处来说,将信息技术用于校务管理中便是迫切的要求。教务系统中的用户数量众多,需要具有不同的权限,以实现不同的应用。本论文介绍了开发背景,开发平台,并基于需求分析实现了教务管理平台中基于角色控制的权限系统RBAC及公共模块的设计与开发。RBAC实现了用户与访问权限的逻辑分离,更符合教务平台的用户、数据和应用特征;在公共模块中实现了系统通用的日志管理,异常处理,常用类库方法等。通过设计和应用本系统,有效的解决了教务平台中关于用户管理与权限操作等方面的问题,为系统公共模块的实现打下坚实的基础。通过较为详尽的功能测试,表明本文的设计内容具有一定的通用性,可用于需要动态分配权限与角色的管理系统中。关键词权限;公共模块;RBACEDUCATIONMANAGEMENTPLATFORMTHEDESIGNANDIMPLEMENTATIONOFAUTHORITYSYSTEMANDPUBLICMODULEABSTRACTWITHTHECONTINUOUSDEEPENINGOFEDUCATIONALREFORM,THECONSTRUCTIONANDDEVELOPMENTOFUNIVERSITIESPLAYERSANINCREASINGLYIMPORTANTROLETORAISETHEOVERALLQUALITY,ESTABLISHANADMINISTRATIONSOLUTIONTOADAPTTHESECHANGESISPARTICULARLYIMPORTANTFORTHEEDUCATIONALADMINISTRATIONDEPARTMENT,INFORMATIONTECHNOLOGYUSEINTHESCHOOLMANAGEMENTISANURGENTREQUIREMENTTHEEDUCATIONMANAGEMENTPLATFORMHASLARGENUMBEROFUSERSANDNEEDSDIFFERENTAUTHORITYINORDERTOACHIEVEDIFFERENTAPPLICATIONSTHISPAPERINTRODUCESTHEDEVELOPMENTBACKGROUND,THEDEVELOPMENTPLATFORMS,THEMODULEDESIGNANDDEVELOPMENTOFEDUCATIONMANAGEMENTPLATFORM,ROLEBASEDAUTHORITYCONTROLSYSTEMMODULERBACANDPUBLICMODULEBYREQUIREMENTSANALYSISRBACMORESEPARATETHEDATAANDPROGRAMFROMUSERS,THESYSTEMOFEDUCATIONMANAGEMENTPLATFORMFORREALIZINGTHELOGICSEPARATIONOFUSERANDACCESSRIGHTSTHEPUBLICMODULEIMPLEMENTSAGENERICSYSTEMLOGMANAGEMENT,EXCEPTIONHANDLING,COMMONLIBRARYMETHODSWITHTHEDEVELOPINGOFTHESYSTEM,ITSUPPLIESANEFFECTIVESOLUTIONTOTHEQUESTIONSOFUSERMANAGEMENTANDAUTHORITYCONTROLOFTHEPLATFORMANDTHEPUBLICPLATFORMMODULEMETHODS,WHICHHASLAIDASOLIDFOUNDATIONFORTHEIMPLEMENTATIONOFTHESYSTEMSPUBLICMODULEBYTHEDETAILEDFUNCTIONALTESTING,ITSHOWSTHEGENERALITY,SOTHESYSTEMMAYBEUSEDFORTHEMANAGEMENTSYSTEMOFDYNAMICALLOCATIONOFAUTHORITYANDROLEKEYWORDSAUTHORITY;PUBLICMODULE;RBAC;目录论文总页数22页1引言111课题背景112课题目的113课题意义12系统平台与相关技术221系统架构222开发平台介绍2221VISUALSTUDIO2005介绍2222SQLSERVER2005介绍223开发技术介绍2231ASPNET2232RBAC3233IDENTITY和IPRINCIPAL33需求分析和数据库设计331应解决的问题3311基于RBAC的权限系统3312平台需要的公共模块432功能需求4321用户信息管理5322角色信息管理5323资源管理5324用户角色分配5325角色权限分配5326权限操作5327日志管理5328异常处理6329基础公共类库633非功能需求6331包容性和可扩展性6332系统简洁,易使用、易维护、适用非计算机专业人员使用6333充分保护数据的一致性6334采用先进成熟的技术,建立实用可靠的系统634数据库设计64系统设计设计与实现941公共模块设计9411数据库通用类设计9412系统工具通用类设计9413系统日志和树目录设计10414系统异常处理12415系统通用页面设计1242权限系统模块的实现13421用户信息管理和角色绑定13422角色管理和权限绑定15423权限管理16424系统资源管理和权限绑定及菜单操作17424URL过滤185测试20结论20参考文献20致谢21声明221引言教务管理平台对安全问题有较高的要求,传统的访问控制方法DAC(DISCRETIONARYACCESSCONTROL,自主访问控制模型)、MAC(MANDATORYACCESSCONTROL,强制访问控制模型)难以满足复杂的教务管理平台需求。NIST(NATIONALINSTITUTEOFSTANDARDSANDTECHNOLOGY,美国国家标准化和技术委员会)于90年代初提出了基于角色的访问控制方法(RBAC),实现了用户与访问权限的逻辑分离,更符合企业的用户、组织、数据和应用特征。RBAC(角色访问控制)的基本思想即把整个访问控制过程分成两步访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。由于RBAC实现了用户与访问权限的逻辑分离,因此它极大的方便了权限管理。例如,如果一个用户的职位发生变化,只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可,角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,并且委派用户到角色不需要很多技术,可以由行政管理人员来执行,而配置权限到角色的工作比较复杂,需要一定的技术,可以由专门的技术人员来承担,但是不给他们委派用户的权限,这与现实中情况正好一致。11课题背景目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,因此国家教育部面向各级各类学校开展了全面学分制改革。因此,各院校迫切需要对自己的现有教务管理系统进行改进和提高,根据国内大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台。提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分。在这样的大环境下,我们选择了“教务管理平台”这个系统,符合实际需求。其中教务管理平台中使用人员的复杂性和众多模块的管理,需要较为复杂和安全的权限系统,另外由于团队开发和系统平台的需要,也需要一定的公共模块的支持。例如日志管理,异常处理,数据验证和过滤等。12课题目的为教务管理平台设计一套安全,通用,可扩展的权限系统和系统公共基础模块的设计与开发,以应对系统和团队开发的需要。13课题意义通过完成本课题系统的设计与开发,为团队开发教务管理平台打下基础,加快整个教务管理系统的开发速度,以应对实际教务管理工作自动化的需要,极大提高教务管理工作人员的效率。2系统平台与相关技术21系统架构B/S架构的优点在于客户端和服务器通过INTRANET进行数据交换,客户端基于统一的WEB浏览器,减少了投资,解决了系统维护升级的问题,另外只有极少部分事务逻辑在前端(BROWSER)实现,但是主要事务逻辑在服务器端(SERVER)实现,这也就充分保护了数据的安全。根据教务平台的需求和实际使用情况,由于人员的复杂性和访问机器的分布性,适合使用B/S架构。22开发平台介绍本毕业设计的命题是教务管理平台中权限系统和公共模块的设计和开发,根据团队要求和开发成本选择了VISUALSTUDIO2005SQL2005开发环境,使用的语言为C。221VISUALSTUDIO2005介绍VISUALSTUDIO2005是一系列高效的、智能的开发工具的统称,它拥有一个庞大的产品线,包括面向学生、爱好者、初学者的EXPRESS版,面向专家、VISUALBASIC6的STANDARD版,面向顾问、企业开发人员的PROFESSIONAL版和面向架构师的TEAMSYSTEM版本。在这些版本中,有些集成了开发软件常用到的东西,比如重构、单元测试、类设计器等等,以方便开发人员快速的设计各类软件。222SQLSERVER2005介绍SQLSERVER2005是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。SQLSERVER2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLSERVER2005数据引擎是企业数据管理解决方案的核心。此外SQLSERVER2005结合了分析、报表、集成和通知功能。23开发技术介绍231ASPNETASPNET是微软流行的动态WEB编程技术活动服务器网页(ASP)的最新版本,但它远不是传统ASP简单升级。ASPNET和ASP的最大区别在于编程思维的转换,ASPNET是真正的面向对象(OBJECTORIENTED),而不仅仅在于功能的增强。在ASPNET中,WEB窗体页由两部分组成视觉元素(HTML、服务器控件和静态文本和该页的编程逻辑。其中每一部分都存储在一个单独的文件中。可视元素在一个扩展名为ASPX文件中创建,而代码位于一个单独的类文件中,该文件称作代码隐藏类文件扩展名为ASPXVB或ASPXCS。这样,ASPX文件中存放所有要显示的元素,ASPXVB或ASPXCS文件中存放逻辑。232RBAC企业环境中的访问控制策略一般有三种自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是1减小授权管理的复杂性,降低管理开销;2灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。基于角色的访问控制RBAC作为一种灵活和直观的访问控制技术在20世纪90年代迅速发展起来,RBAC通过引入角色的新概念来实施访问控制策略。不同的角色和它所应具有的权限许可互相联系,用户作为某些角色的成员,获得角色所拥有的权限。角色可以根据实际的单位或组织的不同工作职能和权限来划分,依据用户所承担的不同权利和义务来授权相应的角色,对于一个存在大量用户和权限的权限分配系统来说,从用户到角色的管理,简化了权限分配的复杂性,提高了安全管理的效率和质量。233IDENTITY和IPRINCIPALPRINCIPAL对象是实现了IPRINCIPAL接口的类的实例,这些对象用来表示用户,并且包括了用户的身份信息。对于每一个线程来说都与一个PRINCIPAL对象相关联。这个PRINCIPAL对象包括了表示运行当前线程的用户的IDENTITY对象。3需求分析和数据库设计31应解决的问题311基于RBAC的权限系统1用户USER和角色ROLE用户指访问系统中的资源的主体,一般为人,也可为AGENT等智能程序。角色指应用领域内一种权力和责任的语义综合体,可以是一个抽象概念,也可以是对应于实际系统中的特定语义体,比如组织内部的职务等。针对角色属性的不同,某些模型中将角色进一步细分为普通角色和管理员角色(可理解为全局角色)。2许可(PERMISSIONS)和权限(PERMISSION)许可描述了角色对计算机资源的访问和操作所具有的权限,其反映的是授权的结果。比如授予某个角色对计算机资源有读的权限,则代表了一个许可的存在,这个许可表示角色获取了对计算机资源的读许可。针对操作来说,其描述的是许可和操作之间的一种关联关系,而这层关系则表示了某一角色对某一操作所具有的权限及权限状态。3角色和指派(ASSIGNMENT)指派包含两个方面,用户指派和许可指派。用户指派表示的是,将用户指派给特定的角色。许可指派表示的是为角色指派计算机资源的访问和操作许可。312平台需要的公共模块1日志管理2异常处理3加密模块及字符串验证与过滤等公共模块。32功能需求按照教务平台RBAC权限系统的需要,和相关公共基础模块的需要,有如下的功能需求。如图1所示。权限系统及公共模块用户管理角色管理权限管理资源管理日志管理异常处理公共类库图1系统功能图RBAC中用户,角色,权限,资源之间的关系如图2所示。用户管理角色管理权限管理资源管理图2RBAC关系图321用户信息管理用户是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。用户信息管理主要提供教务管理平台相关使用人员的信息的管理,包括添加,删除,修改等相关操作。322角色信息管理角色是权利和责任的标识,角色信息管理主要提供教务管理平台相关使用人员所属角色信息的管理,包括添加,删除,修改等相关操作。角色和权限管理起来后,就拥有了一定的资源操作权力。323资源管理资源管理主要提供教务管理平台中各个功能模块可访问资源的管理,包括各种资源相关权限的添加,删除,修改等相关操作。资源包括各种操作和可访问的页面等。324用户角色分配实现用户和角色之间的关联关系映射。在用户信息列表中,选择要分配角色的用户,单击列表中的用户名,进入分配角色页面所示的窗口。在为用户分配角色的窗口中,主要是通过职能范围来确定用户的权限。每一个用户在每一个职能范围中均有一个默认的角色,并可以浏览该职能域中密级为“公开”的数据元。为用户分配角色主要就是修改选定的用户在每一个职能范围中的角色,以及在每个职能范围中可以操作的数据元的密级。325角色权限分配实现权限操作和角色之间的关联关系映射。角色描述用户的职能,权限是可访问资源的标识,给指定的角色分配权限,使角色具有了真正意义上的职能范围。326权限操作完成资源和权限之间的绑定。可访问的资源或操作需要一个标识来标明,权限用通俗的语言来描述这种可用操作。例如用户查看某个列表,“查看”就代表了权限,而“列表“就是资源。327日志管理日志是每个系统必不可少的东西,教务平台中用户的登陆信息,操作信息或异常信息都需要保存,以方便管理员的调用。日志管理主要完成对系统相关各种日志的记录和管理,将信息持久化保存。328异常处理异常处理是每个系统必备的,自定义异常有助于把系统的错误信息按照自己定义的方式来处理,教务平台中把异常信息的保存进日志系统中,方便系统管理员查看,以及时修补系统存在的问题。329基础公共类库完成相关系统基本类库的设计。涉及到数据库操作,相关JAVASCRIPT操作,字符串过滤和编码解码,分页等。这类方法通常具有一般的通用性,以方便教务平台各模块的调用。33非功能需求331包容性和可扩展性系统应具有较好的可扩展性和包容性。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资。特别是在应用需求变化时应用与系统的需求往往提不全或者经常会变化,有一个较好的应用平台,能容易地加以调整。系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。332系统简洁,易使用、易维护、适用非计算机专业人员使用系统的设计需要考虑用户的计算机水平,做到简单易用,没有计算机专业背景的用户也可以轻松的使用本系统完成复杂的排课工作。333充分保护数据的一致性权限系统中的用户,角色,权限,资源等多种信息。各信息存在着一定的关联关系。权限系统所使用的信息需要数据的高度一致,因此,非常有必要在设计时将数据的一致性作为一个重点来考虑。334采用先进成熟的技术,建立实用可靠的系统本系统的建设目标是否能实现,系统整个投资能否发挥应有的效益,最终将取决于该系统是否可靠实用。为此,系统应采用成熟可靠的技术,应贯彻产品化的设计原则和实施方法。同时,系统的起点要高,而不是基于淘汰的技术,系统的建立应适应未来技术发展的趋势。34数据库设计根据需求分析中的各种模块,设计了如下的数据库。用户表ACCOUNTS_USERS用来存储系统用户。表的字段说明如表1所示。表1ACCOUNTS_USERS用户表序号列名数据类型长度标识主键允许空字段说明1USERIDINT4用户ID2USERNAMEVARCHAR50用户名3PASSWORDBINARY20密码4TRUENAMEVARCHAR50真实姓名5SEXCHAR2性别6PHONEVARCHAR20电话7EMAILVARCHAR100邮箱8ACTIVITYBIT1是否激活9STYLEINT4页面风格用户角色表ACCOUNT_USERROLES,主要用于对应某用户和所属角色的对应关系,字段说明如表2所示。表2ACCOUNTS_USERROLES序号列名数据类型长度标识主键允许空字段说明1USERIDINT4用户ID2ROLEIDINT4角色ID角色表ACCOUNTS_ROLES,用来存储各种角色信息,字段说明如表3所示。表3ACCOUNTS_ROLES序号列名数据类型长度标识主键允许空字段说明1ROLEIDINT4角色ID2DESCRIPTIONVARCHAR255角色说明角色权限表用来存储角色所拥有的权限表的字段说明如表4所示。表4ACCOUNTS_ROLEPERMISSIONS序号列名数据类型长度标识主键允许空字段说明1ROLEIDINT4角色ID2PERMISSIONIDINT4权限ID权限表ACCOUNT_PERMISSIONS用来存储各种可用权限。表的字段说明如表5所示。表5ACCOUNTS_PERMISSIONS序号列名数据类型长度标识主键允许空字段说明1PERMISSIONIDINT4权限ID2DESCRIPTIONVARCHAR255权限说明3CATEGORYIDINT4权限类别权限类别ACCOUNTS_PERMISSIONSCATEGORIES存储权限的类别,表的字段说明如表6所示。表6ACCOUNTS_PERMISSIONCATEGORIES序号列名数据类型长度标识主键允许空字段说明1CATEGORYINT4类别IDID2DESCRIPTIONVARCHAR255类别说明目录树S_TREE,存放系统的目录树,可无限添加表的字段说明如表7所示。表7S_TREE序号列名数据类型长度标识主键允许空字段说明1NODEIDINT4结点ID2TEXTVARCHAR100文本3PARENTIDINT4母结点ID4PARENTPATHVARCHAR50母结点ID5LOCATIONVARCHAR50目录所在位置6ORDERIDINT4顺序号7COMMENTVARCHAR50说明8URLVARCHAR100URL9PERMISSIONIDINT4权限ID10IMAGEURLVARCHAR100图片URL日志S_LOG,存放系统日志如表8所示。表8S_LOG序号列名数据类型长度标识主键允许空字段说明1IDBIGINT82CATEGORYIDINT4类别ID3USERIDVARCHAR50用户ID4DATETIMEDATETIME8时间LOGINFOVARCHAR500信息5IPADDRESSVARCHAR500用户IP日志类别LOG_CATEGORY,日志类别,如表9所示。表9LOG_CATEGORY序号列名数据类型长度标识主键允许空字段说明1CATEGORYIDINT4类别ID2CATEGORYNAMEVARCHAR50类别名称数据库关系图图3数据库关系图数据库表之间的关系如图3所示。4系统设计与实现41公共模块设计系统公共模块包括系统数据库操作,系统通用工具类,树目录管理,系统通用页面设计。411数据库通用类设计数据库通用类由类DBMANAGERSQL实现,它是应用程序通过ADONET访问数据库的基础类,也是应用程序实现上层业务逻辑的基础该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等以及执行数据库操作的必需对象。该类通过构造函数读取CONFIG配置文件里的数据库连接,类方法有执行简单SQL语句,执行存储过程,事务处理,返回DATAREADER和DATASET等操作方法。412系统工具通用类设计在本系统中,应用程序定义了几个工具通用类,它们在整个应用过程中被应用了很多次,因此才能把它们集中在一起作为系统工具通用类。系统工具类通用类由命名空间NJJCOMMON下的各种类提供。CONFIGHELPERCS提供了关于读取WEBCONFIG中字符串值的各种方法。MESSAGEBOXCS中封装了向浏览器写入JAVASCRIPT代码和弹出对话框窗口的各种操作PAGEVALIDATECS中提供了各种数据验证函数和字符串过滤,HTML编码解码等各种操作。NJJPAGECONTROL里的各种类提供了一些通用的页面自定义控件的操作,分页的样式等。413系统日志和树目录设计命名空间NJJTREEANDLOG下的TREEANDLOGMANAGE类封装了关于日志的相关操作和目录列表的树相关操作。日志操作有添加,修改,删除日志类别的功能和添加,修改,删除日志的功能。日志主要记录系统用户的各种可记录操作,以及系统异常发生时的堆栈信息,以方便管理员的管理。主要记录内容有用户,日志记录时间,日志错误信息,用户IP,日志类别等。日志错误信息包含堆栈错误或相关用户的操作记录。系统主要界面如图4,图5所示。图4日志详细信息图5日志管理图6树状菜单目录树列表调用SYSNODE树子结点对象来对数据库S_TREE执行各种添加,删除,修改操作,根据用户角色调用其相关的权限列表,动态显示菜单。界面如图6所示。代码如下所示。DATAROWDRSDTSELECT“PARENTID“0/选出所有子节点/菜单状态STRINGMENUEXPANDEDNJJCOMMONCONFIGHELPERGETCONFIGSTRING“MENUEXPANDED“BOOLMENUEXPANDBOOLPARSEMENUEXPANDEDTREEVIEW1NODESCLEAR/清空树FOREACHDATAROWRINDRSSTRINGNODEIDR“NODEID“TOSTRINGSTRINGTEXTR“TEXT“TOSTRINGSTRINGPARENTIDR“PARENTID“TOSTRINGSTRINGLOCATIONR“LOCATION“TOSTRINGSTRINGURLR“URL“TOSTRINGSTRINGIMAGEURLR“IMAGEURL“TOSTRINGINTPERMISSIONIDINTPARSER“PERMISSIONID“TOSTRINGTRIMSTRINGFRAMENAMETARGETFRAME/TREEVIE设置THISTREEVIEW1FONTNAME“宋体“THISTREEVIEW1FONTSIZEFONTUNITPARSE“9“/权限控制菜单IFPERMISSIONID1|USERHASPERMISSIONIDPERMISSIONID/绑定用户有权限的和没设权限的(即公开的菜单)TREENODEROOTNODENEWTREENODEROOTNODETEXTTEXTROOTNODEVALUENODEIDROOTNODENAVIGATEURLURLROOTNODETARGETFRAMENAMEROOTNODEEXPANDEDMENUEXPANDROOTNODEIMAGEURLIMAGEURLROOTNODESELECTACTIONTREENODESELECTACTIONEXPAND/设置菜单状态TREEVIEW1NODESADDROOTNODEINTSONPARENTIDINTPARSENODEID/子节点IDCREATENODEFRAMENAME,SONPARENTID,ROOTNODE,DT/递归显示菜单项414系统异常处理系统异常处理有类MYEXCEPTION实现,它继承于系统的异常类EXCEPTION,并重载基类的异常处理函数MYEXCEPTION该类中了定义了两个异常处理函数,其中一个函数为MYEXCEPTIONSTRINGSOURCE,STRINGMESSAGE,EXCEPTIONINNER,该函数在重载记录函数时添加了一个异常代码参数SOURCE,它可以用来标识异常的代码;另外一个函数为MYEXCEPTIONSTRINGSOURCE,STRINGMESSAGE,它也是继承于基类异常函数MYEXCEPTION(),也在重载记录异常函数时添加了一个异常代码参数。并且在异常处理的代码内部调用日志类函数将异常信息持久化。415系统通用页面设计当用户登陆系统之后,进入系统平台的主页面,它由MAINASPX、SPLITERASPX、LEFTASPX和TOPASPX4个页面组成。并且可以根据自己的喜好,选择不同的页面风格,系统将自动加载用户设置的风格。如图7所示。图7主界面42权限系统模块的实现系统主功能模块包括用户信息管理,角色管理,权限管理,资源与权限的绑定,用户与角色的绑定等。421用户信息管理和角色绑定本系统中的起始页面为LOGINASPX,如图8所示。图8系统登陆界面用户点击【登录】时,系统初始化命名空间NJJACCOUNTSBUS下类USER的一个USER对象,将USER赋予当前上下文USER对象。根据用户当前的身份标识中的密码验证用户身份的有效性,若成功则设置用户系统登陆,添加日志,添加用户的用户信息到SESSION中,并且加载用户设置的界面风格,最后跳转到应用系统操作主界面。该程序代码如下所示。ACCOUNTSPRINCIPALNEWUSERACCOUNTSPRINCIPALVALIDATELOGINUSERNAME,PASSWORD/根据用户名和密码初始化用户标识,实现IPRINCIPAL接口IFNEWUSERNULLTHISLBLMSGTEXT“登陆失败“USERNAMEELSEUSERCURRENTUSERNEWNJJACCOUNTSBUSUSERNEWUSER/根据用户标识初始化用户对象CONTEXTUSERNEWUSER将当前上下文用户标识设为新用户IFSITEIDENTITYUSERIDENTITYTESTPASSWORDPASSWORD0/检测用户密码THISLBLMSGTEXT“你的密码无效“ELSEFORMSAUTHENTICATIONSETAUTHCOOKIEUSERNAME,FALSE/设置用户登陆NJJTREEANDLOGTREEANDLOGMANAGELOGNEWNJJTREEANDLOGTREEANDLOGMANAGELOGADDLOGDATETIMENOWTOSTRING,“用户登陆“,USERIDENTITYNAME,“1“/添加日志SESSION“USERINFO“CURRENTUSER/SESSION保存当前用户信息SESSION“STYLE“CURRENTUSERSTYLE/SESSION保存用户设置的界面风格IFSESSION“RETURNPAGE“NULLSTRINGRETURNPAGESESSION“RETURNPAGE“TOSTRINGSESSION“RETURNPAGE“NULLRESPONSEREDIRECTRETURNPAGEELSERESPONSEREDIRECT“MAINHTM“用户管理页面为USERADMINASPX,界面如图9所示。用户角色分配界面如图10所示。图9用户管理图10角色分配页面初始化时调用函数USER对象的GETALLUSERS方法获取所有用户数据并绑定到DATAGRID中。点击图中的修改角色链接可进入用户与角色绑定界面。422角色管理和权限绑定角色管理和权限绑定页面主要为ROLEADMINASPX和EDITROLEASPX,主要实现对增加新的角色、修改角色、删除角色,和角色对象权限的分配功能。如图11,图12所示。图11角色管理图12编辑角色信息ROLEADMINASPX页面调用了命名空间NJJACCOUNTSBUS下ROLE类对象的相关方法,GETROLELIST得到所有的角色列表,CREATE建立新角色。EDITROLEASPX中,首先LISTBOX中绑定某类别权限下的所有权限,点击增加权限按钮调用ROLE类对象的ADDPERMISSION向角色分配对应的权限。423权限管理权限管理主要实现权限类别及权限命名的管理,如图13所示。代码如下所示。INTCATEGORYIDINTPARSETHISCLASSLISTSELECTEDVALUEDATASETPERMISSIONSLISTACCOUNTSTOOLGETPERMISSIONSBYCATEGORYCATEGORYIDTHISDATAGRID1DATASOURCEPERMISSIONSLISTTHISDATAGRID1DATABIND图13权限管理本模块包含权限类别的添加,修改,删除,以及类别下子权限的添加,修改,删除等功能,主要针对命名空间下NJJACCOUNTSBUS下的PERMISSIONCATEGORIES和PERMISSIONS类进行操作。424系统资源管理和权限绑定及菜单操作系统资源管理主页面为TREELISTASPX和ADDASPX,如图14,15所示。此模块负责添加系统可访问的URL资源和菜单模块的操作。添加菜单时可以和对应的权限相绑定,以动态显示用户菜单。对于对应的URL文件可执行过滤功能,权限不够的用户将拒绝进入。图14系统资源管理图15添加资源并绑定权限主要代码如下所示。NJJTREEANDLOGTREEANDLOGMANAGESMNEWNJJTREEANDLOGTREEANDLOGMANAGEDATATABLEDTSMGETTREELIST“TABLES0THISLISTTARGETITEMSCLEAR/加载菜单选项到下拉列表中THISLISTTARGETITEMSADDNEWLISTITEM“根目录“,“0“DATAROWDRSDTSELECT“PARENTID“0/循环读取,添加FOREACHDATAROWRINDRSSTRINGNODEIDR“NODEID“TOSTRINGSTRINGTEXTR“TEXT“TOSTRING/STRINGPARENTIDR“PARENTID“TOSTRING/STRINGPERMISSIONIDR“PERMISSIONID“TOSTRINGTEXT“TEXTTHISLISTTARGETITEMSADDNEWLISTITEMTEXT,NODEIDINTSONPARENTIDINTPARSENODEIDSTRINGBLANK“BINDNODESONPARENTID,DT,BLANKTHISLISTTARGETDATABIND/绑定父类菜单/读取所有权限DATATABLETABCATEGORYNJJACCOUNTSBUSACCOUNTSTOOLGETALLCATEGORIESTABLES0INTRCTABCATEGORYROWSCOUNTFORINTN0NLOCATIONRELOAD“PERMISSIONSPNEWPERMISSIONS/SESSION保存的用户信息不为空,调用权限表PERMISS

温馨提示

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

评论

0/150

提交评论