asp.net1.1下权限配置系统从设计到实现(二)

转载 2006年06月09日 18:06:00
此权限系统的涉及到的数据表结构如下:

 

很简单,有图在此一目了然。一个角色对应多个功能,而每个功能又包含很多子功能,所以在设计的时候考虑要用到这5张表。在进行开发之前需要安装和配置TreeView控件,如果不知道怎么用可以参看这里:http://jigee.cnblogs.com/archive/2006/04/14/375623.html;应为实现这样的系统主要问题是解决TreeView的问题,开发的时候考虑到代码的简洁和以后便于维护,所以放在了UserControl中,这个对你可能没什么关系,主要是因为我们的系统还有其他模块要集成在一起,通过动态加载用户控件的形式来完成页面的切换工作!PS:为了不涉及公司代码的外泄,我只将写出一些与公司信息无关但又是实现此功能的核心代码,也就是说只写与TreeView有关的部分代码,OK!不说了开始我们的codeing ! TeeView的HTML如下:

<div id="dvRolesFunction" style="BORDER-RIGHT: #99ccff 2px solid; BORDER-TOP: #99ccff 2px solid; OVERFLOW: auto; BORDER-LEFT: #99ccff 2px solid; WIDTH: 400px; BORDER-BOTTOM: #99ccff 2px solid; HEIGHT: 485px">
<iewc:treeview id="tvRoleFunctions" runat="server"SystemImagesPath="../webctrl_client/1_0/treeimages/" showlines="true" shoplus="true">
</iewc:treeview>
</div>

填充TeeView控件的主要代码如下:

private void FillFuntionAndPointInfo()
{
    
string name, value;
    TreeNode parentTreeNode 
= null;
    TreeNode childTreeNode;
    DataSet ds 
= MappingUser.GetFunctionAndFunctionPoint();
   if (ds != null && ds.Tables[0!= null)
   {
                
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    value 
= Common.GetFieldValue(ds.Tables[0].Rows[i]["functionid"], ""); //为了获得有效的返回值
                    name 
= Common.GetFieldValue(ds.Tables[0].Rows[i]["functionname"], "");//  .DLL不会公开
                    
if (parentTreeNode == null || parentTreeNode.Text != name)
                    {
                        parentTreeNode 
= new TreeNode();
                        parentTreeNode.Text 
= name;
                        parentTreeNode.CheckBox
=true;
                        parentTreeNode.ID 
=value; 
                        parentTreeNode.Expandable
=ExpandableValue.Auto; 
                        tvRoleFunctions.Nodes.Add(parentTreeNode);
                    }
                    value 
= Common.GetFieldValue(ds.Tables[0].Rows[i]["functionpointid"], "").Trim();
                    name 
= Common.GetFieldValue(ds.Tables[0].Rows[i]["functionpointname"], "");
                    
if (value.Length > 0)
                    {
                        childTreeNode 
= new TreeNode();
                        childTreeNode.Text 
= name;
                        childTreeNode.CheckBox
=true
                        childTreeNode.ID  
= value;
                        childTreeNode.Expandable
=ExpandableValue.Auto; 
                        parentTreeNode.Nodes.Add(childTreeNode);
                    }
                }
            }
        }

GetFunctionAndFunctionPoint()方法用到的Sql语句如下:

SELECT   functionid,
                  b.name 
AS functionname,
                  functionpointid,
                  c.name 
AS functionpointname
                   
FROM    Function b (NOLOCK),
                                   
FunctionRelationPoint a (NOLOCK)
                                    
LEFT JOIN FunctionPoint c (NOLOCK) ON a.FunctionPointID = c.id
                                
WHERE    a.FunctionID = b.id
                                
ORDER BY functionid,functionpointid


下次写作预告:
怎么用脚本实现TreeView的父子节点联动和全选的功能,之前我在网上和CSDN找过一个实现父子节点联动效果的方法,可惜是在TreeView.htc文件中实现,由于考虑到项目部署时可能带来问题,干脆自己用javaScript实现。

http://jigee.cnblogs.com/archive/2006/06/08/420792.html

相关文章推荐

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

引言     电子商务系统对安全问题有较高的要求,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型)、MAC(Mandatory Access C...

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

  • 2012年10月22日 11:21
  • 109KB
  • 下载

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

利用.NET中的用户控件实现权限控制的基本思想是:根据角色访问控制(RBAC)的基本原理,给用户分配一个角色,每个角色对应一些权限,然后利用ASP.NET中的用户控件(UserControl)来判断该...

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

利用.NET中的用户控件实现权限控制的基本思想是:根据角色访问控制(RBAC)的基本原理,给用户分配一个角色,每个角色对应一些权限,然后利用ASP.NET中的用户控件(UserControl)来判断该...

ASP.NET网站权限设计实现(二)——角色权限绑定

上一篇:ASP.NET网站权限设计实现(一)——使用PowerDesigner进行数据库设计1、关于使用的几张表的说明 (1)Module:模块表,记录模块名称、编码等模块基本数据。 (2)Permi...

ASP.NET网站权限设计实现——套用JQuery EasyUI列表显示数据、分页、查询

有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近看到一款轻型的UI感觉不错,但是在网上找了好多教程,但是没有一个是完全是C#asp.net写的 无耐下,自己写了下,感觉效果不错,故...

ASP.net MVC 基于角色的权限控制系统的实现

一、引言 我们都知道ASP.net mvc权限控制都是实现AuthorizeAttribute类的OnAuthorization方法。 下面是最常见的实现方式: public ...

ASP.NET WEBAPI实现微信JS-SDK接口注入权限验证配置

ASP.NET WEBAPI实现微信JS-SDK接口注入权限验证配置 我们的客户端是一个HTML5客户端,我们计划采用微信提供的JS-SDK,但是所有需要使用JS-SDK的页面必须先注入配置信息,否...

ASP.NET网站权限设计实现(一)——使用PowerDesigner进行数据库设计

这里用PowerDesigner做一个初步的设计,后面可能会有修改。1、启动PowerDesigner新建物理数据模型 2、工具栏3、新建表模型4、添加第一张表,可以双击表或右键菜单打开下面窗口 别忘...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net1.1下权限配置系统从设计到实现(二)
举报原因:
原因补充:

(最多只允许输入30个字)