web方式下权限分配简单实现
目前项目涉及到权限分配问题,相信很多高手都已经知道了,本人刚开始学习web开发,做这个权限管理的功能时候遇到很多问题,在这里写下这篇文章之想给学习web开发的新手们起到一个抛砖引玉的作用,同时希望得到高手们的指点。
使用技术:
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文件,文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<TREENODES>
<treenode text="首页" NavigateUrl="Main.aspx" Target="mainFrame">
<treenode text="登入系统" NavigateUrl="Authentication/Login.aspx" Target="mainFrame" />
</treenode>
<treenode text="权限管理" NavigateUrl="Main.aspx" Target="mainFrame">
</treenode>
</TREENODES> 在这里解释一下:NavigateUrl为链接页;Target为:在那个框架显示。我们做两个XML文件,一个命名为“管理员.xml”,另外一个为:“游客.xml” 。
第二步 放置控件。并写好后台代码:
1、放置控件,在aspx文件你想要控件出现位置添加下面语句:
<iewc:TreeView id="trvMenu" runat="server" Expanded="True"></iewc:TreeView> 2、后台代码中添加下面语句。注意,我们假设已经将用户所属权限存储文件和id取到Session对象中。
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Session["LogonUserId"] == null )
{
Session["LogonUserId"] = 0;
Session["LogonUserName"] = "游客";
Session["LogonUserRole"] = "游客.xml";
}
this.trvMenu.TreeNodeSrc="Authentication/XMLFiles/"+ Session["LogonUserRole"].ToString();
this.trvMenu.DataBind();
}
后记
通过上面两步,我们就将权限分配处理完毕,当我们不同的用户登入的时候,我们重载一次这个导航页面即可,因为我们使用的是框架,用户不知道调用那个页面,而且我们系统应用对象为大型企业,系统主要也是完成查询功能。所以可以考虑不需要在每个页面中校验身份。
本文限于大家交流技术,请勿使用商业用途,谢谢!希望能与你们交流,我的msn: pfengk@hotmail.com
作者:pfengk
2005.7.1
大概设想:
权限到菜单,当我们用不同用户进入系统时,我们给他不同的菜单(或叫导航条)。
用 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文件,文件如下:








第二步 放置控件。并写好后台代码:
1、放置控件,在aspx文件你想要控件出现位置添加下面语句:







Session["LogonUserName"] = "游客";





后记
通过上面两步,我们就将权限分配处理完毕,当我们不同的用户登入的时候,我们重载一次这个导航页面即可,因为我们使用的是框架,用户不知道调用那个页面,而且我们系统应用对象为大型企业,系统主要也是完成查询功能。所以可以考虑不需要在每个页面中校验身份。
本文限于大家交流技术,请勿使用商业用途,谢谢!希望能与你们交流,我的msn: pfengk@hotmail.com
作者:pfengk
2005.7.1
搜索一下相关内容 |
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 当数据爆炸遇上SQL Server:优化策略全链路解析
· 记录一次线上问题排查:JDK序列化问题
· 微服务之间有哪些调用方式?
· 记一次SQL隐式转换导致精度丢失问题的排查
· dotnet 9 通过 AppHostRelativeDotNet 指定自定义的运行时路径
· 一个基于 C# Unity 开发的金庸群侠传 3D 版,直呼牛逼!
· SQL Server 2025 中的改进
· 向商界大佬一样管理技术工作 - 以团队换将+技术重构为例
· 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析(三)--一个综合的例子
· DeepSeek+Coze实战:如何从0到1打造一个热点监控智能体