用户权限管理系统.doc_第1页
用户权限管理系统.doc_第2页
用户权限管理系统.doc_第3页
用户权限管理系统.doc_第4页
用户权限管理系统.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

用户权限管理系统1 引 言 当前,企业的信息化和管理的网络化成为趋势,越来越多的企业构建自己的信息管理平台,实现管理手段的信息化,优化企业组织结构,提高企业对市场的灵敏度和竞争力。但将管理信息放到网络上,如何管理分配和控制用户的权限成为影响管理信息安全性的重要问题。 ASP(Active Server Pages,动态服务网页)是Microsoft公司于1996年年底推出的服务器端Web应用程序开发技术。ASP的脚本都在服务器端执行,提供了许多服务器端的对象和组件,返回给客户端的制式标准的Html页面,这样既降低了对客户端浏览器的要求,又是程序的安全性得到了保证,同时也使得我们可以对不同的用户提供不同的页面。另外,ASP还可以利用ADO(ActiveX Database Objecct)组件提供给更加简单有效的访问数据库,并且支持几乎所有的脚本语言。 综合ASP以上特点可以看出,使用ASP技术可以方便的开发出功能强大的服务器端用户权限管理系统,下面用一个实例来说明开发过程。2 实例剖析2.1 系统描述 该系统是用ASP为某公司企业的MIS系统开发用户权限管理系统,要求实现以下功能:(1) 用户要分级别,不同级别具有不同权限(访问不同资源)。(2) 一台计算机上可以有多个不同权限的用户。(3) 一个用户在不同的计算机上具有相同的权限。(4) 某些用户在自己计算机上无需输入用户名和密码,可自动登录。(5) 用户管理支持IP地址的通配符和连接符。2.2 数据库的设计 首先,根据该企业的要求将用户按照访问的对象划分成不同的权限级别;自动登录用户的IP要单独存放,便于查询。因此,在Userid.mdb中建立了两张表(见表1和表2)分别存放用户主要信息和自动登录用户的IP地址。表1 用户信息表(user)字段名称 数据类型 字段说明 Id 文本 用户名Password 文本 密码Access_level 文本 用户类型(用0,1字符串表示)Count 文本 访问次数Ip_address 文本 IP地址Menu_name 文本 菜单文件的路径和名称Op_check 文本 用户附加选项(自动登录、用户修改密码)Del_flag 文本 删除标记(1表示删除)No 文本 用户编号表2 自动登录IP地址表(Autologin) 字段名称 数据类型 字段说明Ip_address 文本 自动登录的IP地址在User表中,Access_level字段用以0或1组成的5b字符串表示不同的用户级别(管理员、高级用户、中级用户、普通用户和自定义用户),每一位表示一种级别,“0”无效,“1”有效;如,“10000”表示该用户具有管理员权限;各级别能够访问的对象显示在网页左边的树型菜单控件中,不同的用户显示不同的菜单,菜单的内容存放在相应的文件中,通过Menu_name字段来调用;Ip_address字段支持在IP地址第三、四段使用通配符“*”和连接符“-”,如,“792.168.2.*”,“192.168.151-153.10-100”;Op_check字段用2位0,1字符串表示用户附加选项,如“01”表示允许用户修改密码,“10”表示该用户为自动登录用户。 在Autologin表中,Ip_address字段用来存发User中Op_check字段第一位是“1”的用户的IP地址。2.3 系统流程 系统流程图如图一所示。用户登录首先由check.asp获取用户的IP信息,到数据库Userid.mdb的Autologin表中查找该IP信息,到数据库Userid.mdb的Autologin表中查找该IP是否为自动登录的用户。如果是,从User表中获取对应的权限,直接进入系统的主页;如果不是,就进入Login.asp,要求用户输入用户名、密码,通过验证后,获取相应的权限,进入系统主页。系统主 页 判断是否为自动登录及获取用户权限信息用户权限信息用户访问 check.asp-login.asp L用户数据库Userid.mdb图1 用户登录流程2.4 用ASP.net实现系统 ASP.net提供了内置的Session对象,以用来访问存储于用户的局部会话空间中的变量和对象,可以实现多个网页本地数据的共享和相互间的数据传递;本系统的许多全局信息就是采用这种方式来传递的,如,菜单文件的路径等。 当用户通过浏览器访问时,首先使用ASP.net内置的服务器端变量获取用户的IP地址,判断该用户是否为自动登录,实现的代码如下: Ip-ad=reqeest.ServerVariables(“REMOTE_ADDR”) /获得用户ip地址 If CheckIP(ip_ad)ThenCheck(ip_ad) /检验是否为自动登录用户 Session(“passed“)=True /Passed为True表示通过验证Logon=True /写入日志文件SetMyFileObject = Server.createobject(“scripting.filesyatemobject”)Physicalpath=Server.MapPath(“global/win.ins”)Set MyTextFile=MyFileObject.OpenTextFile(PhysicalPath,8,true)MyTextFile.WriteLine(now()&”用户名”&ID&“IP地址为“&ip_ad&”自动登录网络”)MyTextFile.CloseEnd if函数Check(ip_ad)作用是检查IP地址为ip_ad的用户是否为自动登录用户,如果是,就返回true;同时获取该用户对应的权限和级别;如果不是,就返回False。具体代码如下:/实现自动登录用户判断的函数Function CheckIP(ip_ad)/连接Userid.mdb数据库Set conn=Server.CreateObject(“ADODB.connection”)Param = “driver =Microsoft Access Driver(*.mdb)”Conn.Openparam&”;dbq=”&Server.MapPath(“”userid.mdb”)&;Pwd=access_level”Sql = “Select ip_adress Form autologin” /打开自动登录Autologin表Set rs = server.CreateObject(“ADODB.Recordset”) Rs.Open sql,conn Rs.CacheSize=5 If rs.EOF then /如果有自动登录用户,则返回False CheckIP = False Rs.close Else Rs.movefirst Do while (not rs.cof) and (flag - false) Flag = Ture Ip_auto=rs(0) /从Autologin表中获得IP地址进行比较 For i=1 to 4 /如果为“*”,则不用比较,实现通配符操作 If Getip (rs(0),i)”*”then /Getip(ip_ad,n)函数,实现了IP地址连接符的使用 If Getip (ip_ad,i)Getip(rs(0),i)then Flag = false Ip_auto=” End if End if Next Rs.movenext Loop CheckIP = false If flag = true then /如果在Autologin表中查找到符合太监的记录 If rs.RecordCount)=cint(ip_f) and (cint(ip_u)=cint(ip_b)then Getip=ip_u Else Getip=999 End if End ifEnd If n=4 thenI=instr(l,ip_ad,”.”)End Function 如果不是自动登录的用户,则进入Longin.asp页面,要求其输入用户名和密码。ID=Request(“ID”) /输入用户名Pwd = Request(“Pwd”) /输入密码If ID=”Then Head = “请输入用户名和密码” Elself Not CheckPwd(ID,Pwd,ip_ad)Then Head = “用户名称或密码错误”ElseSession(“passed”)=TrueSession(“ID”)=IDLogon=TrueEnd if函数CheckPwd(ID,Pwd,ip_ad)的作用是检查用户名为ID,密码为Pwd,IP地址为ip_ad的用户是否合法,如果合法就获取其相应的权限。该函数的实现具体的代码可参考函数CheckIP(ip_ad)。本系统主网页是一个框架网页,左面调用了一个树型菜单控件,根据不同的用户类别显示不同的菜单,实现代码如下:param name =”menu_name” value=”用一个Session变量来给控件的参数赋值,实现对显示菜单的控制。 该系统使用ASP技术将用户的权限控制为两层:(1) 根据用户不同的权限显示不同的菜单,如果用户无权访问某个页面(资源),就不将该页面的链接显示在左边的菜单中,这样不仅可以防止用户得知一些不该知道的地址,还可以使用户操作变得简单明了。(2) 在用户对某个页面发出请求是再次判断用户的权限,即判断Session(“Access”)的值,只有当用户具有访问权限时才将页面发送给用户,否则返回无权查看信息,实现代码如下:.页面内容.对

温馨提示

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

评论

0/150

提交评论