当前位置:首页 » 编程语言 » 权限管理java

权限管理java

发布时间: 2024-07-17 21:58:16

‘壹’ 现本人要做一个权限管理模块,急需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("权限后处理");
}
}

‘贰’ javaweb权限管理,用户的权限数据该存放在哪里

配置一个servlet,在容器启动时自加载权限,并且通过资源表的数据信息,将每一条资源中的resourceURL与AuthorityName(权限名)进行配对。这里的resourceURL可能对应多个权限,所以Map集合内的Collection集合就是用来配置多个权限的,验证时需匹配该集合内所有的权限。所以URL可以重复录入数据库,但权限不能重复。
AuthorityDataMap,建立这个类用来存放经过权限匹配后的权限信息,是项目所有的权限集合。缓存在servlet上下文中。

‘叁’ java如何做权限管理

思路:

1、用户表 user;

2、角色表 role;

3、菜单 menu;

4、角色菜单权限表 role_menu;

5、用户菜单权限表 user_menu;

‘肆’ javaweb 项目的系统权限管理,怎么设计

java web 项目的系统权限管理设计方法有两种:
方法一、SpringMVC整合Shiro (Shiro是强大的权限管理框架)
参考:http://www.360doc.com/content/14/0529/09/11298474_381916189.shtml

方法二、基于角色的访问权限控制
基于角色的访问权限控制
首先基于角色的访问权限控制,所有的用户访问都会经过过滤,然后分析访问权限加以认证!权限中的重点,表的设计。

普遍三张表,表名自定义。用户表(User),角色表(Role),资源表(Resource)
用户表没有特别,很简单。关键是角色表和资源表。

‘伍’ 什么是Java类的访问权限

在解释访问权限控制之前,先看一个场景。

在学生信息管理系统中,有两个类,分别是学生类和课程类,课程类提供了课程表和课程安排两个方法,学生类可以调用课程类提供的课程表查看课程安排,但不能调用课程安排方法,该如何处理,此时就可以利用访问权限来进行控制。

在Java中,提供了四种访问权限控制:默认访问权限(包访问权限),public,private以及protected。

默认访问权限(default):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。

private: 对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护的”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。下表列出了四种访问权限的控制粒度:

packagecom.cxh.test1;
classPeople{//默认访问权限(包访问权限)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}

从代码可以看出,修饰People类采用的是默认访问权限,而由于People类和Main类在同一个包中,因此People类对于Main类是可见的。

‘陆’ java 权限管理系统中数据权限的设计与使用

建立一个角色资源表,表中各种资源设置不同的类型,比如菜单类型为0,数据权限类型为1等等,表中也可以规定能访问的数据规则,取得表中数据规则放到sql语句。

热点内容
闪迪加密器 发布:2024-11-26 07:44:08 浏览:552
我的世界服务器显示村民名字 发布:2024-11-26 07:37:16 浏览:478
php注册与登录 发布:2024-11-26 07:31:21 浏览:795
基金账户如何配置 发布:2024-11-26 07:29:58 浏览:180
用电脑怎么刷汽车行车电脑配置 发布:2024-11-26 07:24:14 浏览:688
客户端ip和服务器ip地址怎么设置 发布:2024-11-26 07:18:25 浏览:684
如何破解加密的wmv 发布:2024-11-26 07:18:16 浏览:895
资源码项目 发布:2024-11-26 07:10:12 浏览:892
acl配置第三步如何验证 发布:2024-11-26 07:07:58 浏览:939
上传gif搜索 发布:2024-11-26 06:27:05 浏览:763