- 浏览: 5819304 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
很多时候不同的人拥有不同的权限,不同的人拥有不同的菜单。
那怎么样做一个可以灵活变动的菜单呢。
大致思路:
建2张数据表:Module(保存着所有的菜单)和User(里面有一个“权限”字段保存着自己需要的菜单);
先获得所有菜单和用户菜单,所有的主菜单和子菜单
代码片段如下:
显示部分jsp:
注意window.location.href="user.portal?action=viewUserPermissionSubmit"+"&permissions="+values+"&id="+${requestScope.id};
这里values就是修改后的菜单id,形如:[2][3][5]...把它传到后台修改User表的权限字段并刷新页面就可以显示修改后的菜单了。
那怎么样做一个可以灵活变动的菜单呢。
大致思路:
建2张数据表:Module(保存着所有的菜单)和User(里面有一个“权限”字段保存着自己需要的菜单);
先获得所有菜单和用户菜单,所有的主菜单和子菜单
代码片段如下:
else if("viewUserPermission".equals(action)){ System.out.println("--------------------viewUserPermission-------------------"); String id=request.getParameter("id"); User instance=(User)this.getBaseService().get("User",id); // 初始化菜单,根据MenuLevel=0代表根目录从0开始 List list = this.getModuleService().getModuleTree(Integer.parseInt(instance.getMenuLevel()));//getModuleTree里的参数一般是0 Iterator menu = list.iterator(); Vector parentV = new Vector(); Vector childV = new Vector(); Module module; String allMenu=""; while (menu.hasNext()) { module = (Module) menu.next(); if (module.getParentId().intValue() == 0) {//0表示父菜单 parentV.add(module); } else { childV.add(module); } allMenu+="["+module.getId()+"]"; } request.setAttribute("parentVector", parentV);//所以的父菜单Vector request.setAttribute("childVector", childV);//所以的子菜单Vector request.setAttribute("allMenu", allMenu);//所有菜单(String型)形如:[1][2][3][4][5]... request.setAttribute("id", instance.getId());//当前用户id request.setAttribute("userPermission", instance.getPermission());//当前用户菜单(String型)形如:[2][4][5]... return mapping.findForward("viewUserPermission"); }
显示部分jsp:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>修改权限</title> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script language="JavaScript" type="text/javascript"> <!-- function selectKind(target){ var obj = target; var container = document.getElementById("sub_" + obj.name); for(var i=0;i<container.getElementsByTagName("input").length;i++){ container.getElementsByTagName("input")[i].checked = obj.checked;; } } function getCheckedBox(){ if(confirm("警告:此操作可能会影响到输出。\n如果您确定要修改,请先联系管理员!")){ var checkNum=document.getElementsByTagName("input").length; var values=""; for(var i=0;i<checkNum;i++){ if(document.getElementsByTagName("input")[i].checked){ values+="["+document.getElementsByTagName("input")[i].value+"]"; } } window.location.href="user.portal?action=viewUserPermissionSubmit"+"&permissions="+values+"&id="+${requestScope.id}; } } --> </script> </head> <body> <c:forEach var='parent' items='${requestScope.parentVector}' varStatus='i'> <c:if test="${fn:indexOf(requestScope.allMenu,parent.id)!=-1}"> <table border="0" width="400"> <tr> <td> <div align="left" > <c:choose> <c:when test="${fn:indexOf(requestScope.userPermission,parent.id)!=-1}"> <input type="checkbox" value="${ parent.id }" name='${ i.index }' onclick="selectKind(this)" checked>${ parent.moduleName } </c:when> <c:otherwise> <input type="checkbox" value="${ parent.id }" name='${ i.index }' onclick="selectKind(this)" >${ parent.moduleName } </c:otherwise> </c:choose> </div> </td> </tr> </table> </c:if> <div id='sub_${i.index}' style="padding-left:20px"> <table border="0" width="300"> <c:forEach var='child' items='${requestScope.childVector}' varStatus='j'> <c:if test="${fn:indexOf(requestScope.allMenu,parent.id)!=-1&&child.parentId==parent.id}"> <tr> <td> <c:choose> <c:when test="${fn:indexOf(requestScope.userPermission,child.id)!=-1}"> <input type="checkbox" value="${child.id }" name='${ j.index }' checked>${child.moduleName} </c:when> <c:otherwise> <input type="checkbox" value="${child.id }" name='${ j.index }' >${child.moduleName} </c:otherwise> </c:choose> </td> </tr> </c:if> </c:forEach> </table> </div> </c:forEach> <input title="修改权限" class="button" onclick="getCheckedBox();" type="button" value="提 交"> <input title="返回" class="button" onclick="window.location.href='user.portal?action=list';" type="button" value="返 回"> </body> </html>
注意window.location.href="user.portal?action=viewUserPermissionSubmit"+"&permissions="+values+"&id="+${requestScope.id};
这里values就是修改后的菜单id,形如:[2][3][5]...把它传到后台修改User表的权限字段并刷新页面就可以显示修改后的菜单了。
发表评论
-
PropertyMessageResources实现本地化
2010-03-01 12:16 2817public org.apache.struts.util.P ... -
在Struts1.x中使用net.sf.struts.saif.SAIFSpringPlugin配置Interceptor(拦截器)
2010-01-21 11:05 3938几个月前,Struts2发布,这个版本较struts1.x ... -
登录时“记住用户名”
2010-01-14 14:42 9455登录时需要用户“记住 ... -
导出数据到Excel
2009-08-12 09:46 2020HSSFWorkbook wb = new HSSFWor ... -
socket发送数据
2009-08-12 09:40 1774String date = request.getPara ... -
ActionMessages的使用&cookies操作验证码
2009-08-11 15:55 1879ActionMessages errors = new Act ... -
<html:select>的使用
2009-08-11 15:34 2942一般使用: <html:select property= ... -
比较笨的分页方法
2009-08-11 12:20 1821Java: sql += " order b ... -
使用<bean:define >取到bean:write的值,并赋值给java变量
2009-08-11 12:15 7965<logic:iterate id="it ... -
<bean:write> 用法
2009-08-11 11:55 12067bean:write相当于<%=reques ... -
注册的在线人数/统计在线人数/网站总访问量
2009-08-05 17:24 2877java LoginAction: request.getSe ... -
调用外部程序的方法
2009-08-03 17:29 2320if("calculator".equal ... -
下载文件
2009-08-03 16:10 1951if("download".equals( ... -
把图片写入数据库
2009-08-03 16:05 2135System.out.println("====== ... -
多文件上传,同时改名,并生成缩略图
2009-08-03 16:03 4695html: <script> function ... -
POI导出到Excel
2009-08-03 14:33 2167if (billForm.getButtonName() != ... -
对账文件导出
2009-08-03 14:27 2233if ("datafile".equals ... -
用户登录完整代码
2009-08-03 11:45 2776java action: LoginForm form=(Lo ... -
验证码
2009-08-03 11:37 1813生成验证码图片的Servlet类 import java. ... -
创建session
2009-08-03 11:04 3227java action: HttpSession sessio ...
相关推荐
在IT行业中,权限控制是后台管理系统中的核心组成部分,它确保用户只能访问他们被授权的资源。本项目结合了layui前端框架和thinkphp后端框架,实现了最细粒度的权限控制,通过读取代码注释的方式来决定用户权限,这...
在IT行业中,权限控制是确保系统安全性和数据保护的关键机制,尤其在Web应用程序中,JavaScript作为客户端脚本语言,其在权限控制中的角色至关重要。本文将深入探讨JavaScript如何实现权限控制,以及它在这个过程中...
在IT行业中,权限控制是确保系统安全性和用户体验的关键部分,特别是在企业级应用中。SpringBoot作为Java领域广泛使用的微服务框架,提供了丰富的功能来帮助开发者实现权限管理。本篇文章将详细探讨如何在SpringBoot...
在C# WinForm应用开发中,权限控制是一个关键的安全组件,它确保了只有授权的用户才能访问特定的功能或数据。本教程将详细讲解如何在C# WinForm环境中实现基于角色的权限控制,包括角色、用户和权限的设置。 首先,...
Java权限控制插件是软件开发中的一个重要组成部分,它主要用于管理和限制不同用户或角色对系统资源的访问。在本文中,我们将深入探讨这个基于Java编写的权限控制插件,特别是其核心概念、设计模式以及实现机制。 ...
在ASP.NET Core中,权限控制是一个关键的组件,用于确保只有具备特定权限的用户才能访问特定的资源或执行特定的操作。在本教程中,我们将探讨如何在ASP.NET Core MVC项目中实现这一功能,特别是如何进行权限的分配。...
Spring Security如何使用URL地址进行权限控制 Spring Security是一个功能强大且广泛应用的Java安全框架,它提供了许多功能,包括身份验证、授权、加密等。其中,权限控制是Spring Security的一个重要组件,它允许...
演示了包括:权限控制、超大附件文件上传、EasyUI基本组件使用等等功能,具体请自行看本示例演示功能 SSHE框架环境需求:JAVA环境:JDK7+;数据库环境:oracle10g+/sqlserver2000+/mysql5+;WEB容器环境:jetty6+/...
【权限控制模型】是信息化系统中至关重要的组成部分,它的设计直接影响到系统的安全性、稳定性和易用性。本文将深入探讨几种常见的访问控制技术,包括自主访问控制(DAC)、强制访问控制(MAC)以及基于角色的访问...
在这个“springboot springsecurity动态权限控制”的主题中,我们将深入探讨如何在Spring Boot项目中集成Spring Security,实现动态权限控制,让菜单权限的管理更加灵活和高效。 首先,我们需要理解Spring Security...
这是一款基于Winform权限控制系统源码,基本上实现了权限管理系统的功能,对于新手来说,还是比较有学习价值的,值得推荐一下,感兴趣的朋友可以下载学习一下。 二、功能介绍 1、用户管理 2、组管理 3、用户授权 ...
### 前后端分离下的权限控制设计 随着前端框架如React、Angular和Vue的兴起,前后端分离架构成为主流趋势。然而,这种架构模式带来了新的挑战,尤其是关于权限控制的问题。本文旨在探讨如何在前后端分离的架构下...
在这个“Struts2拦截器实现权限控制demo”中,我们将深入探讨如何利用拦截器来实现细粒度的用户权限管理。 首先,我们需要了解Struts2中的拦截器工作原理。拦截器是基于Java的动态代理模式实现的,它们按照配置的...
### Web业务系统权限控制知识点详解 #### 一、概述 在现代Web应用开发中,权限控制是一项非常重要的功能。良好的权限控制系统能够确保只有授权的用户才能访问特定的资源和服务,从而提高了系统的安全性与稳定性。本...
在ASP中实现权限控制是确保网站安全和数据保护的关键环节。此压缩包文件包含的内容显然与ASP用户权限设置相关,特别是结合了Access数据库进行用户管理。 ASP中的权限控制主要涉及到以下几个方面: 1. **身份验证**...
该发明涉及一种基于Vue.js和Django的权限控制系统,它主要关注的是在互联网应用程序中实现高效且严格的用户权限管理。Vue.js是一种轻量级的前端JavaScript框架,它以其易用性、灵活性和组件化特性而受到开发者的青睐...
"基于Struts2拦截器的权限控制.doc"文档很可能是提供了一个具体的案例,详细讲解了如何创建并使用拦截器进行权限控制。文档可能会涵盖以下内容: 1. 创建自定义拦截器类,实现`Interceptor`接口,重写`intercept()`...
在Java编程语言中,访问权限控制是至关重要的一个部分,它确保了代码的封装性和安全性。本主题将深入探讨Java中的访问修饰符及其在源代码中的应用。 首先,Java提供了四种基本的访问权限控制修饰符: 1. **public*...
项目概述:本源码为基于角色基础访问控制(RBAC)模型的中小型应用开发平台,采用前后端分离架构。...该平台为开发人员提供了一个具有完善权限控制的后台管理系统,支持快速开发具有复杂权限需求的中后台应用。
### 帆软报表数据权限控制设计文档 #### 一、背景与需求描述 随着企业对数据精细化管理的要求越来越高,特别是在跨境电商行业中,如何确保不同层级的员工能够访问他们需要的数据,同时保护敏感信息不被非授权人员...