当前位置:首页 » 操作系统 » java权限管理源码

java权限管理源码

发布时间: 2023-06-10 19:29:50

java 中如何实现权限管理

struts拦截器不推荐使用 建议使用spring AOP 面向切面 统一权限操作当做一类失误处理 对于数据库权限 简单权限可以设定一张权限表 复杂权限 但权限没有从属关系可以使用2进制表示 0101010 0和1分别代表是否具有该权限操作 多级权限表结构又相应复杂
给你一个简单的管理代码
public class CheckIdAdvice implements MethodInterceptor {
protected final Log log = LogFactory.getLog(getClass());
public Object invoke(MethodInvocation invocation) throws Throwable {
String methodName = invocation.getMethod().getName();
for(int i=0;i<Constant.levelOneMethod.length;i++)
{
if(Constant.levelOneMethod[i].equals(methodName))
{
Map map=(Map) ActionContext.getContext().get("session");
Admin admin=(Admin)map.get("admin");
if(admin.getQuanxian()!=null&&admin.getQuanxian()>=1)
{

return invocation.proceed();
}
else
{
log.info("进入失败");
return false;
}

}
}
for(int i=0;i<Constant.levelTwoMethod.length;i++)
{
if(Constant.levelTwoMethod[i].equals(methodName))
{
Map map=(Map) ActionContext.getContext().get("session");
Admin admin=(Admin)map.get("admin");
if(admin.getQuanxian()!=null&&admin.getQuanxian()>=3)
{

return invocation.proceed();
}
else
{
log.info("进入失败");
return false;
}
}
}
for(int i=0;i<Constant.levelThreeMethod.length;i++)
{
if(Constant.levelThreeMethod[i].equals(methodName))

{
Map map=(Map) ActionContext.getContext().get("session");
Admin admin=(Admin)map.get("admin");
if(admin!=null&&admin.getQuanxian()>=5)
{

return invocation.proceed();
}
else
{
log.info("进入失败");
return false;
}
}
}

return invocation.proceed();

}

}

㈡ java实现论坛权限管理

我把之前写过的给你好了,办法应该有很多种,我使用比较简单的session属性判断,就是1。如果管理员登录了,马上设置管理员的session属性,2,3。在有管理员区分的页面的前面加个管理员的session判断就行了

1.登录页面或登录处理页面
if(管理员账号密码验证成功) {
session.setAttribute("admin","logined"); //设置session

}
2.登录判断页面
_adminLogined.jsp
<%@ page language="java" pageEncoding="gb18030"%>
<%
//==========管理员判断===========
String sessAdmin = (String)session.getAttribute("admin");
if(sessAdmin == null || !sessAdmin.trim().equals("logined")) {
response.sendRedirect("login.jsp");
return; //这个return 很重要 否则会继续向下执行 详见response特性
}
%>

3。论坛页面(有用到管理员权限的)如:删除,修改页面
在这些页面前面加上这句,如果不是管理员,删除修改页面是访问不了的
<%@ include file="_adminLogined.jsp" %>

㈢ 谁能给个java权限管理功能的框架或者代码(有完整的用户、角色、权限3者关系体系的)

代码没有,这个玩意要有一般也是集成在项目中的,一般不会发给你。可以给你说个思路:

  1. 用户表t_user (userId,xxxxx)

  2. 角色表t_role(roleId,xxxx) //一般就是id再加上个名称字段,比如管理员,普通用户

  3. 用户角色表t_role_user(id,userId,userId) 用户角色关联表

  4. 功能表或者叫资源表 t_function(functionId,url,parentFunctionId,xxx) //存放菜单名称 url地址之类

  5. 角色功能表(id,roleId,functionId) //角色能有哪些功能


一般的权限控制,登录的时候根据用户查询到该用户有哪些角色,根据角色查询到该角色有哪些功能。把有的功能做成菜单给用户展示。

㈣ 现本人要做一个权限管理模块,急需java写的权限管理模块的源码一份做为参考,要求能够演示的

关于权限管理,如果是网站的话,最简单的方式就是用过滤器。通过用户访问的URL进行控制。
这种方式,在写控制或网页时,不用考虑权限问题!权限由过滤器统一管理。
spring 的servlet.xml配置如下:
<!-- 权限系统 拦截 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/admin/**" />
<bean class="com.zmax.web.spring.AdminContextInterceptor">
<!-- 开发模式,懒得登录 -->
<property name="devmode" value="1"/>
<property name="auth" value="true" />
<property name="loginUrl" value="/admin/login.do" />
<property name="returnUrl" value="/admin/index.do" />
<property name="excludeUrls">
<list>
<value>/test.do</value>
<value>/login.do</value>
<value>/logout.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
相应的JAVA代码:
package com.zmax.utils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class AdminContextInterceptor extends HandlerInterceptorAdapter{
private static final Logger logger = Logger.getLogger(AdminContextInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
if (logger.isDebugEnabled())
logger.debug("权限预处理");
//获取用户访问的地址
String uri = getURI(request);
// 不在验证的范围内
if (exclude(uri)) {
return true;
}
AdminUser adminUser=(AdminUser)session.getAttribute(request, SessionName.ADMINUSER);
// 用户为null跳转到登陆页面
if (adminUser == null) {
if(devmode==null||devmode.equals(0)){
response.sendRedirect(getLoginUrl(request));
return false;
}
}
//如果用户权限不够,跳到登录页面
if(checkAdmin(adminUser,uri)){
response.sendRedirect(getLoginUrl(request));
return false;
}else{
//权限够了,返回true
adminUser=adminUserService.get(devmode);
session.setAttribute(request, response, SessionName.ADMINUSER, adminUser);
return true;
}

return true;
}

@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, ModelAndView mav)
throws Exception {
if (logger.isDebugEnabled())
logger.debug("权限处理");

}

@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
if (logger.isDebugEnabled())
logger.debug("权限后处理");
}
}

㈤ java 中怎么做权限系统的控制和分配

下面是一个java的web权限管理模块的应用与实现。

先介绍数据模型和应用界面,后继对实现细节做选择性阐述。

数据表关系如下:

该图标明了登陆用户、角色、部门(机构)、用户组、角色和模块功能之间的关系。为方便起见,所有表都只保留必要字段。

在本系统设计中,如下概念有着相对特殊的含义。

一、用户(user): 系统的使用者。

二、部门(org):体现了用户的行政关系,

三、组(group) :是某相同职能的用户的集合,可以和用户一样与角色产生关联。设置组的目的是为了方便用户的角色分配,减少用户与角色的直接对应关系。用户的角色可以是其组角色和其直接分配的角色之合集。限于作者的时间和精力,组功能在该系统中没有具体的实现。
四、角色(role):角色对应着某些功能(function)的集合,被分配一个角色意味着有权执行这些功能。角色表中的字段"functions"记录相关的功能id,id之间用逗号隔开。

五、功能(function):系统的一个或者多个执行准入。

㈥ javaweb应用系统,求一套权限管理源代码,不同角色勾选不同菜单,拥有对应菜单权限不一样!

代码没有写出起来,给你说一下原理吧!权限主要分为用户角色菜单一个角色对应多个用户,多个角色对应多个菜单这样用户登录时可以通过用户自己的角色得到相应的菜单而菜单就直接关系到具体的功能操作了这样就划分出权限了比如每个人都有自己的名字如“1,2,3,4”而用户可能有同样的角色如:“1,2是管理员”“3,4是主任”这样的管理员和主任就是角色这两个角色的权利(权限)当然不同了这样就是权限管理了啊中文java技术网

热点内容
存储过程参数空值 发布:2025-04-06 08:59:59 浏览:873
垃圾车压缩式垃圾车 发布:2025-04-06 08:55:00 浏览:205
如何给苹果iphone手机设置密码 发布:2025-04-06 08:49:17 浏览:810
安卓苹果王者荣耀数据转移在哪里 发布:2025-04-06 08:47:34 浏览:892
linux强制退出 发布:2025-04-06 08:47:33 浏览:664
python验证码切割 发布:2025-04-06 08:47:30 浏览:989
校园vlog脚本模板 发布:2025-04-06 08:45:59 浏览:463
无法访问别人的共享 发布:2025-04-06 08:41:31 浏览:401
我的世界服务器生存地址 发布:2025-04-06 08:20:25 浏览:724
des算法缺点 发布:2025-04-06 08:13:51 浏览:573