`
以沫之恋
  • 浏览: 4150 次
  • 性别: Icon_minigender_2
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

权限校验

 
阅读更多

package com.newer.liu.system.comment;

import java.io.IOException;
import java.lang.reflect.Method;
import java.util.List;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.RequestProcessor;
import org.apache.struts.actions.DispatchAction;

import com.newer.liu.system.bean.OperatorBean;
import com.newer.liu.system.bean.PrivilegeBean;
import com.newer.liu.system.servce.OperatorServce;
import com.newer.liu.system.servce.PrivilegeServce;
import com.newer.liu.system.servce.impl.OperatorServceImpl;
import com.newer.liu.system.servce.impl.PrivilegeServceImpl;
import com.sun.swing.internal.plaf.metal.resources.metal;
/**
* 权限校验

*继承RequestProcessor
* @author liu
*
*/
public class ShyRequestProcessor extends RequestProcessor {

private PrivilegeServce dao = new PrivilegeServceImpl();

@Override
protected ActionForward processActionPerform(HttpServletRequest request,
HttpServletResponse response, Action action, ActionForm form,
ActionMapping mapping) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("-----------权限------------------");
if (isValiue(request, action, mapping)) {
return super.processActionPerform(request, response, action, form,
mapping);
} else {
return mapping.findForward("error");
}
}

 

//=========================================

 

// 调用方法
private boolean isValiue(HttpServletRequest request, Action action,
ActionMapping mapping) {
Method method = this.getMethod(request, action, mapping);
MyInterface my = this.getAnnotation(method);
if (my != null) {
//得到该用户的所有权限
Object str=request.getSession().getAttribute("name");
List<PrivilegeBean> list = dao.getAll(str.toString());
System.out.println(str+"============"+list);
PrivilegeBean p = new PrivilegeBean();
p.setModel(my.mode());
p.setPrivilegeName(my.limit());
p.setOperatorId(str.toString());
if (list.contains(p)) {
return true;
} else {
return false;
}

}
return true;
}

//--------------------------------

 

 

// method 根据反射到到方法的全部值
private Method getMethod(HttpServletRequest request, Action action,
ActionMapping mapping) {
Method method = null;

String methodName = "execute";
if (action instanceof DispatchAction) {
String parme = mapping.getParameter();
methodName = request.getParameter(parme);

}
Class[] cls = { ActionMapping.class, ActionForm.class,
HttpServletRequest.class, HttpServletResponse.class };

try {
method = action.getClass().getDeclaredMethod(methodName, cls);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return method;
}

//注解
public MyInterface getAnnotation(Method name) {
MyInterface mf = null;
if (name.isAnnotationPresent(MyInterface.class)) {
mf = name.getAnnotation(MyInterface.class);

}
return mf;
}

分享到:
评论

相关推荐

    springboot拦截器实现拦截器 权限校验,登录demo

    本文将详细介绍如何在Spring Boot中实现拦截器以进行权限校验和登录验证,通过一个简单的Demo来阐述整个过程。 首先,我们需要创建一个自定义的拦截器类。这个类通常会继承`HandlerInterceptorAdapter`,这是一个...

    权限校验表设计

    基于Dubbo Filter,每次请求时通过【调用方(用户令牌)+服务标识+被调接口+调用参数】访问权限管理微服务获取具体权限

    aop实现权限校验的过程

    本篇文章将深入探讨如何使用AOP来实现权限校验的过程。 一、AOP概念理解 AOP的核心思想是切面,它将分散在多个对象中的横切关注点(如日志、安全检查等)封装起来,形成独立的模块,称为切面。切面可以包含两个主要...

    java的细粒度权限和shiro权限校验 ssh

    Shiro是Apache组织提供的一款强大且易用的Java安全框架,它提供了身份认证、授权、会话管理和加密等功能,非常适合在Spring+Struts+Hibernate(SSH)这样的经典企业级开发框架中实现权限校验。 细粒度权限管理的...

    netty4.0文件分片上传+断点续传+权限校验

    在本文中,我们将深入探讨如何利用Netty 4.0实现文件分片上传、断点续传以及权限校验的功能。 **文件分片上传** 文件分片上传是为了处理大文件传输时,避免一次性加载整个文件到内存中,从而减少内存消耗和提高...

    jax-ws的handler做调用权限校验例子

    在这个例子中,我们将关注如何使用`JAX-WS`的`Handler`机制进行调用权限校验。 `Handler`是`JAX-WS`中的一个重要组件,它允许我们在Web服务调用的生命周期中插入自定义逻辑。这包括在消息发送前、接收到消息后、...

    利用Spring Security做角色权限校验

    本篇将深入探讨如何利用Spring Security进行角色权限校验,并动态地从数据库中查询用户是否具有访问特定接口的权限。 首先,我们需要理解Spring Security的基本架构。它主要包括四个主要组件:认证(Authentication...

    基于Java语言的权限校验与角色分配的权限管理系统设计源码

    该系统是一款采用Java语言开发的权限管理系统源码,总计包含92个文件,其中包括75个Java源文件、8个XML配置文件、2个属性文件、2个YAML...系统主要功能包括权限校验和角色分配,适用于对用户权限进行精细管理的场景。

    Spring AOP实现功能权限校验功能的示例代码

    Spring AOP实现功能权限校验功能的示例代码 本篇文章主要介绍了Spring AOP实现功能权限校验功能的示例代码,通过使用拦截器和AOP技术来实现未登录时跳转到登录界面的功能,以及在service层方法中抛异常来实现权限...

    springboot集成shiro、jpa实现安全登录,权限校验

    在Spring Boot应用中,集成Apache Shiro或Spring Security可以实现用户认证和授权功能,而这里主要讨论的是如何结合Shiro和JPA(Java Persistence API)来构建一个安全的登录及权限校验系统。Shiro是一个轻量级的...

    Android对资源和权限进行校验的代码例子

    以下是如何进行权限校验的示例: ```java public class PermissionHelper { public static void requestLocationPermission(Activity activity, int requestCode) { if (ContextCompat.checkSelfPermission...

    基于Spring Boot的fanxing-security-spring-boot-starter权限校验与安全框架设计源码

    该项目为基于Spring Boot框架构建的轻量级安全框架fanxing-...该框架专注于权限校验和安全特性,不涉及登录状态管理,支持多角色和权限校验,并允许开发者自定义接口操作,适用于构建具备精细权限控制的应用程序。

    django,rbac,seesion中间件权限校验.zip

    django,rbac,seesion中间件权限校验

    asp.net framework下webform、webapi和mvc对于文件增加权限校验

    asp.net framework下webform、webapi和mvc对于文件增加权限校验

    vue路由权限校验功能的实现代码

    在进行vue路由权限校验功能的实现时,我们通常需要根据用户的角色来控制页面的访问权限。在vue中,这通常是通过在路由配置中添加权限相关的元数据信息,并在路由跳转时进行相应的权限检查。本文会详细介绍如何实现这...

    详解AngularJs HTTP响应拦截器实现登陆、权限校验

    这对于实现登录认证和权限校验等场景非常有用,因为可以在拦截器中加入相关的逻辑来实现这些功能。 在AngularJS中,创建HTTP拦截器需要使用$httpProvider服务,这是一个提供者,负责配置$http服务的行为。拦截器...

    web端不限制浏览器获取客户端MAC+IP地址进行权限安全校验

    web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...

    abap权限检查的详细步骤

    在ABAP编程中,权限控制是确保数据安全和系统稳定性的重要环节。本指南将详细介绍如何在ABAP报表中实现权限检查的详细步骤。 首先,我们需要创建授权对象类。在SAP系统中,通过事务码SU21进入授权对象管理界面。在...

    Jingce-lu#lunotes#vue路有权限校验1

    1. 登陆权限,一般来说这个是独立出来,不用 spa 做,就一个表单的事情,后面也容易做扩展,包括单点登录什么的 2. 登陆集成到 spa 里面,这个一般在请求

Global site tag (gtag.js) - Google Analytics