package cn.sys.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
import cn.sys.pojo.Admins;
import cn.sys.pojo.Modules;
import cn.sys.pojo.Rights;
import cn.sys.pojo.Roles;
import cn.sys.vo.AdminOperVo;
/**
* 获得权限
*
* @author Administrator
*
*/
public class RightsTools {
private static Connection con;
// 得到系统赋予用户模块
public static Set<Modules> getModules(Admins admin) {
if (admin == null) {
return null;
}
TreeSet<Modules> modules = new TreeSet<Modules>();
Set<Roles> roles = admin.getAdminroleses();
System.out.println("roles====" + roles);
// System.err.println("roles >>>" + roles.getClass().getClassLoader());
// System.err.println("rol >>>" + Roles.class.getClassLoader());
for (Roles role : roles) {
Set<Rights> rights = role.getRolerightses();
for (Rights rs : rights) {
Modules mod = rs.getOperations().getModules();
modules.add(mod);
}
}
return modules;
}
public static List getModules(int id) {
String sql = "select rownum,a.name oprName, c.url rigUrl, b.name modName, b.url modUrl from operations a join modules b on a.mid=b.id " +
"join rights c on c.operationid=a.id join rolerights d on d.id=c.id join roles e " +
"on e.id=d.roleid join adminroles f on f.roleid=e.id join admins g on g.id=f.adminid " +
"where g.id="+id;
PreparedStatement pre = null;
ResultSet res = null;
List list = new ArrayList();
AdminOperVo vo = null;
try{
con = DBcon.getCon();
pre = con.prepareStatement(sql);
res = pre.executeQuery();
while(res.next()){
vo = new AdminOperVo();
vo.setRowNum(res.getInt("rownum"));
vo.setOperName(res.getString("oprName"));
vo.setRigUrl(res.getString("rigUrl"));
vo.setModName(res.getString("modName"));
vo.setModUrl(res.getString("modUrl"));
list.add(vo);
}
}catch(Exception e){
e.printStackTrace();
}
return list;
}
public static Set<Rights> getRights(Admins admin, Integer id) {
System.out.println("获得权限信息");
if (admin == null || id == null) {
return null;
}
TreeSet<Rights> rights = new TreeSet<Rights>();
Set<Roles> roles = admin.getAdminroleses();
for (Roles rol : roles) {
Set<Rights> rig = rol.getRolerightses();
for (Rights r : rig) {
Modules mod = r.getOperations().getModules();
if (id.equals(mod.getId())) {
rights.add(r);
}
}
}
return rights;
}
/**
* 判断用户登录加载模块实现方法
*/
public static List<Modules> findmodoulesid(Admins admins) {
// HttpServletRequest request = ServletActionContext.getRequest();
// Admins admins = (Admins) request.getSession().getAttribute("admins");
System.out.println("用户--------------------" + admins.toString());
Set<Roles> roles = admins.getAdminroleses();
Set<Modules> modules = new HashSet<Modules>();
Iterator<Roles> it = roles.iterator();
while (it.hasNext()) {
Roles ro = (Roles) it.next();
Set<Rights> ss = ro.getRolerightses();
Iterator<Rights> aa = ss.iterator();
while (aa.hasNext()) {
Rights right = aa.next();
Modules module = right.getOperations().getModules();
modules.add(module);
}
}
List<Modules> list = new ArrayList<Modules>();
Iterator<Modules> ad = modules.iterator();
while (ad.hasNext()) {
Modules m = ad.next();
list.add(m);
}
Collections.sort(list, new Comparator<Modules>() {
public int compare(Modules o1, Modules o2) {
return (int) (o1.getId() - o2.getId());
}
});
return list;
}
// public void findallurl(Admins admins) {
// // HttpServletRequest request = ServletActionContext.getRequest();
// // Admins admins = (Admins) request.getSession().getAttribute("admins");
// Set<Roles> roles = admins.getAdminroleses();
// Set<Modules> modules = new HashSet<Modules>();
// Iterator<Roles> it = roles.iterator();
// Set<URL>url=new HashSet();
// while (it.hasNext()) {
// Roles ro = it.next();
// Set<Rights> ss = ro.getRights();
// Iterator<Rights> aa = ss.iterator();
// while (aa.hasNext()) {
// URL ur=new URL();
// Rights right = aa.next();
// List<URL>u=dao.findallurl(right.getId());
// for(URL l:u){
// URL rl=new URL();
// rl.setUrl(l.getUrl());
// System.out.println("url---------------------"+rl.getUrl());
// url.add(rl);
// }
// Modules module = right.getModules();
// ur.setUrl("index");
// url.add(ur);
// }
// }
// System.out.println("url------------size()--------------"+url.size());
// if(request.getSession().getAttribute("url")!=null){
// request.getSession().removeAttribute("url");
// request.getSession().setAttribute("url", url);
// }else{
// request.getSession().setAttribute("url", url);
// }
//
//
// }
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SSH登陆系统Ajax (116个子文件)
RightsTools.class 5KB
Users.class 5KB
LoginAction.class 3KB
Userservices.class 3KB
Admins.class 2KB
AdminDaoImp.class 2KB
Pricings.class 2KB
AdminForm.class 2KB
Modules.class 2KB
DBcon.class 2KB
Rights.class 2KB
AdminServiceImp.class 2KB
Operations.class 2KB
Roles.class 1KB
FilterCharactor.class 1KB
AdminOperVo.class 1KB
Rolerights.class 1KB
Adminroles.class 1KB
RightsTools$1.class 963B
AdminService.class 588B
AdminDao.class 576B
.classpath 10KB
main.css 9KB
style.css 6KB
edit.css 681B
Thumbs.db 76KB
db.dmp 40KB
sy_04.gif 6KB
logo.gif 3KB
index_r3_c1new.gif 3KB
index_title_center2.gif 352B
RightsTools.java 5KB
Users.java 4KB
Userservices.java 2KB
Admins.java 2KB
LoginAction.java 2KB
Pricings.java 2KB
Rights.java 1KB
AdminForm.java 1KB
Modules.java 1KB
AdminDaoImp.java 1KB
Roles.java 1KB
DBcon.java 1KB
Operations.java 1KB
AdminServiceImp.java 1KB
FilterCharactor.java 952B
Rolerights.java 829B
Adminroles.java 829B
AdminOperVo.java 811B
AdminService.java 459B
AdminDao.java 447B
channel_selfservices.jpg 15KB
channel_dh_2.jpg 13KB
ctitle_bak_right.jpg 13KB
btn_xx_right.jpg 13KB
subchannel_doc.jpg 13KB
ctitle_bak_center.jpg 13KB
ctitle_bak_fcenter.jpg 13KB
subchannel_bak.jpg 13KB
index_26.jpg 12KB
sy_13.jpg 10KB
sy_2_18.jpg 10KB
imgcode.jpg 1KB
sy_10.jpg 780B
sy_12.jpg 704B
sy_03.jpg 543B
login.js 2KB
main.jsp 5KB
login.jsp 4KB
index.jsp 834B
.struts-config.mex 1KB
MANIFEST.MF 39B
.myhibernatedata 516B
.mymetadata 306B
.mystrutsdata 262B
.project 2KB
db.properties 115B
db.properties 115B
ApplicationResources.properties 94B
ApplicationResources.properties 94B
.springBeans 273B
sql.sql 9KB
struts-html.tld 72KB
struts-nested.tld 70KB
struts-logic.tld 14KB
struts-bean.tld 9KB
struts-tiles.tld 8KB
validator-rules.xml 13KB
Users.hbm.xml 3KB
Users.hbm.xml 3KB
applicationContext.xml 2KB
Userservices.hbm.xml 2KB
Userservices.hbm.xml 2KB
Admins.hbm.xml 2KB
Admins.hbm.xml 2KB
hibernate.cfg.xml 1KB
hibernate.cfg.xml 1KB
web.xml 1KB
Pricings.hbm.xml 1KB
Pricings.hbm.xml 1KB
共 116 条
- 1
- 2
资源评论
- qiaoliubang2014-12-24视频很好 对我帮助很大
- linwanrong10002013-06-08旧技术。。。 初学者看不太懂。。。
- battlebai2017-04-14先下载看看,希望能用到
shufeipeng
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功