ASP.NET系统用户权限设计与实现-C#,JAVA视频教学,网页设计,网站开发,asp,php,mysql,asp.net| 学知识教程网,
设为首页|收藏学知识 |改版意见收集|智能DIY搜索|加入我们|网站地图
当前在线人数:8770
好教程 易学习 新资讯!
ASP.NET

ASP.NET系统用户权限设计与实现

2007-07-03 源自: 网友评论 共有( )条评论! 内容报错
本文章地址:http://dev.xuezhishi.net/website/NET/2007-10-17/20760.html [将本信息与朋友分享!]

                     

  3、利用用户控件实现访问权限

  在定义好用户控件.ascx文件(head.ascx)及.ascx.cs(head.ascx,cs)文件时,接下去只要在.ASPx文件中注册和声明它就可以了。

  (1) 注册

<%@ Register TagPrefix="Acme" TagName="Head" Src="../UserControl/headinner.ascx" %>

  (2) 声明

  经过实践,在.ASPx文件中声明.ascx文件可分为几种情况:

  第一种情况:<Acme:Head runat="server" />

  第二种情况:<Acme:Head runat="server" flag=0 funcname1=selectgoods funcname2=updategoods />

  第三种情况:<Acme: Head runat="server" flag=1 funcname1= selectgoods funcname2=updategoods />

  字段flag是用来控制怎样进行权限检查的标志,funcname指功能表中的功能英文名。如果flag为空,则不执行权限检查(第一种情况);否则如果flag=="0",则表示同时具有selectgoods(商品信息查询)和 updategoods(商品信息更新)这两种权限的角色所对应的用户才有权利查看该页(第二种情况);否则,如果flag=="1",则认为,具有selectgoods(商品信息查询)或 updategoods(商品信息更新)这两种权限中任意一种权限的用户就有权利查看该页(第三种情况)。

  上面进行权限检查的过程全部由用户控件来实现,其全部方法都封装在.ascx.cs文件中,其中最主要的一个方法是检查某一角色是否拥有某一确定权限的checkAuth(string roleId,string funcEName)方法。这个方法的思想如图4所示。


  图4中roleValue(角色值)的第0位(selectgoods的功能编号)值为1,表示该角色拥有selectgoods(商品信息查询)的权限。这样,我们把对权限检查的所有逻辑都封装在了用户控件中,因此,对WEB窗体页.aspx文件而言,只需在导入.ascx文件时确定用户在访问该页面时所应拥有的权限,而不需对ASPx.cs进行任何改动。

  由上所述,可以很清楚地看出,只要在用户控件中对用户权限进行控制,再把它包括在.ASPx文件中(这件事作者本来就是要做的),那么在编程的时候就不必考虑复杂的权限问题了。

  结束语

  本文在开发一个电子商务系统的实践中发现,公司对系统用户的权限控制非常重视。因此,设计一个简单方便又行之有效的权限控制机制对于电子商务系统是必不可少的。本文所提出的基于ASP.NET的电子商务系统用户权限设计和实现方法已经在实际的工作中得到了验证,修改指定权限组的操作变得非常方便。

  参考文献

  [1] Chris Payne.ASP.NET从入门到精通. 北京:人民邮电出版社,2002.
  [2] 陈传波,夏义兵.基于ASP.NET技术及三层网络架构的权限管理系统模型.计算机工程,2003,第12期:101;
  [3] 曹天杰,张永平.管理信息系统中基于角色的访问控制.计算机应用,2001,第8期:21;
  [4] 江资斌,向南平.MIS用户权限管理技术.电脑与信息技术,2002,第五期:57;.

 

http://dev.xuezhishi.net/website/NET/2007-10-17/20760.html
分页:1 2 [3]
评论 点击查看
 


加入QQ群:35714363 一起成长
我要加入更多群 我有意见要反映
开发教室

学知识原创教程下载

本类最近更新
阅读排行

其他相关信息