设为首页 加入收藏

TOP

Java 实现权限管理的两种方式(二)
2014-11-24 03:06:21 来源: 作者: 【 】 浏览:3
Tags:Java 实现 权限 管理 方式
nager = (User) HttpUtils.getAdminUserSession(req);
// 检查管理用户是否登录
if (manager == null) {
resp.sendRedirect(req.getContextPath()+"/sessionLost.do");
return;
}

//第二,必须在权限定义范围内
if(auth_value.indexOf("all")>=0){
chain.doFilter(request, response);//必须返回给上一层。
return ;
}
else{
// String currUserAuth = ","+Integer.toString( manager.getLever())+",";
String currUserAuth = Integer.toString( manager.getLever());
if(auth_value.indexOf(currUserAuth)>=0){
chain.doFilter(request, response);//必须返回给上一层。
return ;
}
else{
resp.sendRedirect(req.getContextPath()+"/accessdenied.do");
return ;
}
}
}


public void destroy() {
logger.info("in authfilter destroy");


}


}
2.xml文件


xml只给出了部分内容,不过所有的内容都包括了。


< xml version="1.0" encoding="UTF-8" >



0,1
0,
0,1

all,
all,


3.用户表里面有一个用来保存用户级别的字段level,具体用户表的信息有以下内容,我用实体类来表示用户表的信息,因为没有表结构了。


/** The composite primary key value.*/
private String id;

/**
* 用户编号
*/
private String userId;


/** The value of the simple username property. */
private String username;


/** The value of the simple password property. */
private String password;
/**
* 0:Admin;1:站长;2:编辑;
*/
private int lever=1;
/**
* 创建用户的日期
*/
private Date createDate;


所有的操作都显示在页面上,当点击该操作时,才进行权限控制,抛出是否该用户有没有该功能的权限。


第二种方式:利用专门的权限表来维护用户权限,根据登录的用户的权限信息判断谋个功能是否显示在页面上,来实现权限的控制。


1.不用数据库表了,我用实体类的属性来表示。


private String id;
/**
* 管理员id
*/
private String employeeid;
/**
*管理功能id
*/
private String urlid;
/**
* 功能名称
*/
private String urlname;


超级管理员给每一个用户分配权限,然后添加到该张表中。登录用户根据自己的权限可以判断是否显示该功能。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在Ubuntu环境下成功编译C#--一个.. 下一篇FLASH与服务器通讯 (JAVA)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)