大概设想:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
权限到菜单,当我们用不同用户进入系统时,我们给他不同的菜单(或叫导航条)。
用 user表存储用户相关信息,role表存储角色信息,包含权限。权限使用xml文件存储。
数据字典
USER | |||
字段名 | 中文名 | 类型 | 备注 |
UserID | 用户ID | NUMER(7) | 主键,自增长 |
UserName | 用户名 | VarChar2(20) |
|
DepartmentID | 所属部门ID | NUMER(7) |
|
RoleID | 角色ID | NUMER(3) |
|
ROLE | |||
字段名 | 中文名 | 类型 | 备注 |
RoleID | 角色ID | NUMER(3) | 主键,自增长 |
RoleName | 角色名 | VarChar2(20) |
|
Popedom | 权限 | VarChar2(255) | 存储权限文件 |
使用技术:
1、XML,采用xml文件存储菜单内容。
2、微软ie控件treeview
第一步 安装控件,并写好xml文件:
相信你们都没有安装IE Web Controls。这么我们就开始安装这个。
1、点击 下载控件,这可是免费,且有源码的。
2、安装控件。网络上有很多安装使用方法,在这里就不重复了。如果你不清楚请参阅:
http://www.microsoft.com/china/msdn/archives/library/dnaspp/html/aspnet-usingtreeviewiewebcontrol.asp#aspnet-usingtreeviewiewebcontrol_topic5
3、将控件加入vs中。
4、写XML文件,文件如下:
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
第二步 放置控件。并写好后台代码:
1、放置控件,在aspx文件你想要控件出现位置添加下面语句:
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
Session["LogonUserName"] = "游客";
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
后记
通过上面两步,我们就将权限分配处理完毕,当我们不同的用户登入的时候,我们重载一次这个导航页面即可,因为我们使用的是框架,用户不知道调用那个页面,而且我们系统应用对象为大型企业,系统主要也是完成查询功能。所以可以考虑不需要在每个页面中校验身份。
本文限于大家交流技术,请勿使用商业用途,谢谢!希望能与你们交流,我的msn: pfengk@hotmail.com
作者:pfengk
2005.7.1
搜索一下相关内容 |