书签 分享 收藏 举报 版权申诉 / 15

类型java web简单权限管理设计.docx

  • 文档编号:9189382
  • 上传时间:2023-05-17
  • 格式:DOCX
  • 页数:15
  • 大小:20.56KB

--权限窗口-->

true,iconCls:

'icon-save',footer:

'#menuWindowfooter'"style="width:

350px;height:

420px;padding:

10px">

10px20px;">

5px;text-align:

right;">

'icon-save'">提交

action层

RoleAction.java

@RequestMapping(value="/treedata.jhtml")

@ResponseBody

publicStringtreedata(HttpServletRequestrequest,Modelmodel){

DynamicParamsparams=newDynamicParams(request);

List>mapList=Lists.newArrayList();

params.put("allMenu","allMenu");

List

list=authManager.findMenuList(params);

ListroleMenus=authManager.findRoleMenuList(params);

for(inti=0;i

Menue=list.get(i);

Mapmap=Maps.newHashMap();

map.put("id",e.getId());

map.put("pId",e.getParentId()!

=null?

e.getParentId():

0);

map.put("name",e.getName());

for(RoleMenuroleMenu:

roleMenus){

if(roleMenu.getMenuId()==e.getId()){

map.put("checked",true);

}

}

mapList.add(map);

}

returntoJson(mapList);

}

service层

AuthManager.java

//菜单管理

publicList

findMenuList(DynamicParamsparams){

List

menus=newArrayList();

if("allMenu".equals(params.getString("allMenu"))){

menus=menuDao.findList(params);

}else{

//通过用户查询角色

ListuserRoles=userRoleDao.findList(params);

//通过角色查询菜单

ListroleMenus=newArrayList();

if(userRoles!

=null&&userRoles.size()>0){

for(UserRoleuserRole:

userRoles){

params=newDynamicParams();

if(userRole!

=null){

if(userRole.getRoleId().equals(params.getString("rid"))){

break;

}

params.put("roleId",userRole.getRoleId().toString());

Listrms=roleMenuDao.findList(params);

for(RoleMenuroleMenu:

rms){

roleMenus.add(roleMenu);

}

}

}

}

//查询菜单信息

for(RoleMenuroleMenu:

roleMenus){

if(roleMenu!

=null){

Menumenu=menuDao.find(roleMenu.getMenuId());

if(menu!

=null){

menus.add(menu);

}

}

}

menus=removeDuplicate(menus);

Collections.sort(menus);

}

returnmenus;

}

/**

*去除菜单中重复项

*

*@paramlist

*@return

*/

privateList

removeDuplicate(Listlist){

List

result=newArrayList();

SetmenuIds=newHashSet();

for(inti=0;i

Menum=list.get(i);

if(m!

=null&&menuIds.add(m.getId())){

result.add(m);

}

}

returnresult;

}

publicListfindRoleMenuList(DynamicParamsparams){

ListroleMenus=roleMenuDao.findList(params);

returnroleMenus;

}

Dao层

menuDao

@Override

protectedvoidcreateQuery(DynamicParamsparams,StringBuffersql,Listargs){

sql.append("selects.*fromsys_menuswhere1=1");

StringparentId=params.getString("parentId");

if(StringUtils.isNotBlank(parentId)){

sql.append("andparent_id=?

");

args.add(parentId);

}

Stringsort=params.getString("sort");

Stringorder=params.getString("order");

if(StringUtils.isNotBlank(sort)){

sql.append("orderby").append(hump2underline(sort));

if(StringUtils.isNotBlank(order)){

sql.append(""+order);

}else{

sql.append("desc");

}

}else{

sql.append("orderbysortasc,iddesc");

}

}

userRoleDao

@Override

protectedvoidcreateQuery(DynamicParamsparams,StringBuffersql,Listargs){

sql.append("selects.*fromsys_user_roleswhere1=1");

LongadminId=params.getLong("adminId");

if(adminId!

=null){

sql.append("ands.user_id=?

");

args.add(adminId);

}

}

roleMenuDao

@Override

protectedvoidcreateQuery(DynamicParamsparams,StringBuffersql,Listargs){

sql.append("selects.*from").append("sys_role_menu").append("swhere1=1");

LongadminId=params.getLong("roleId");

if(adminId!

=null){

sql.append("ands.role_id=?

");

args.add(adminId);

}

}

 

在WEB-INF目录下建立文件夹tlds建立自定义标签文件shiros.tld,我们通过自定义标签实现页面按钮的控制。

#333333;">

xmlversion="1.0"encoding="UTF-8"?

>

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

version="2.0">

p2ppermissiontaglib

permissiontaglib

1.0

p2p_back

权限校验标签,有权限就显示标签体的内容,否则不显示

permission

com.vanfon.p2p.back.tag.PermissionTag

JSP

module

true

false

code

true

false

自定义标签类

packagecom.vanfon.p2p.back.tag;

importjava.util.List;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.tagext.TagSupport;

importcom.vanfon.p2p.entity.system.Admin;

importcom.vanfon.p2p.entity.system.Menu;

importcom.vanfon.p2p.manager.system.AuthManager;

importcom.vanfon.p2p.utils.DynamicParams;

importcom.vanfon.p2p.utils.SpringContextHolder;

/**

*权限控制标签

*

*@authorzhangwx

*@date2015-2-5

*/

publicclassPermissionTagextendsTagSupport{

/**

*

*/

privatestaticfinallongser

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
java web简单权限管理设计 web 简单 权限 管理 设计
提示  冰点文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:java web简单权限管理设计.docx
链接地址:https://www.bingdoc.com/p-9189382.html

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2