`
evget
  • 浏览: 144645 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

Spring AOP验证用户权限实例

阅读更多
文章关键字:|Spring AOP|验证|用户|权限|实例|java|

1.新建一个Java普通工程,并需导入spring-aop.jar包;

2.建UserInfo类:

package aop.secure;

public class UserInfo {

  private String userName;

  private String password;

  public UserInfo(String userName, String password){

    this.userName = userName;

    this.password = password;

  }

  public String getPassword() {

    return password;

  }

  public String getUserName() {

    return userName;

  }

}

3.建安全信息提示类SecureBean:

package aop.secure;

public class SecureBean {

  public void writeSecureMessage(){

    System.out.println("Every time I learn something new and it pushes some old stuff out of my brain.");

  }

}

4.建切面类SecurityAdvice实现org.springframework.aop.MethodBeforeAdvice:

package aop.secure;

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;

public class SecurityAdvice implements MethodBeforeAdvice {

  private SecurityManager securityManager;

  public SecurityAdvice(){

    this.securityManager = new SecurityManager();

  }

  public void before(Method method, Object[] args, Object target) throws Throwable {

    UserInfo user = securityManager.getLoggedOnUser();

    if(user == null){

      System.out.println("No user authenticated.");

      throw new SecurityException("Method name: " + method.getName());

    }else if("chigo".equals(user.getUserName()) && "chigo".equals(user.getPassword())){

      System.out.println("OKAY!");

    }else{

      System.out.println("Logged in user is: " + user.getUserName());

      throw new SecurityException("User " + user.getUserName() + " is not allowed access to method " + method.getName());

    }

  }

}

未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9263
分享到:
评论

相关推荐

    Spring Aop使用实例

    **Spring AOP 使用实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的一个重要组成部分,它提供了一种在不修改原有代码的情况下,通过代理方式添加额外功能的技术。这种技术使得我们...

    SpringMVC+springAOP+spring security+Hibernate整合实例代码

    在这个整合实例中,Spring Security可能会配置用户登录、权限控制和URL访问过滤,以确保只有授权的用户能访问特定资源。 4. Hibernate:Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的...

    spring 应用aop 实例

    在Spring框架中,AOP(面向切面编程)是一种强大的设计模式,它允许开发者将关注点从核心业务逻辑中分离出来,比如日志记录、事务管理、权限控制等。本实例将深入探讨如何在Spring 4.0版本中实现AOP。 首先,AOP的...

    Maven 项目 Spring Aop 用户注册 实例 代码.rar

    在本实例中,我们主要探讨的是如何利用Maven构建一个基于Spring框架的Web应用程序,特别是关注Spring AOP(面向切面编程)在用户注册功能中的应用。Maven是一个强大的项目管理和依赖管理工具,它帮助开发者组织和...

    spring AOP的代码实例

    切面是AOP中的核心概念,它封装了横切关注点,如日志记录、事务管理、权限验证等。在Spring AOP中,切面可以由一个或多个通知(advises)组成,这些通知定义了在何时何地执行特定行为。 **通知(Advice)** 通知是...

    spring aop

    在Web项目中,Spring AOP通常用于处理跨多个控制器和业务层方法的通用任务,如记录请求日志、验证权限、事务管理等。通过配置或注解,你可以确保这些逻辑在每次相关方法执行时自动触发,从而提高代码的可读性和可...

    spring aop小实例

    - 权限验证:在特定方法执行前进行权限检查,防止非法访问。 总结,Spring AOP为开发者提供了强大的工具,能够使代码更加模块化,提高可维护性。通过理解AOP的基本概念和工作原理,结合实际的小实例,我们可以更好...

    aop 权限验证demo

    综上所述,"aop 权限验证demo"提供了一个利用Spring AOP进行权限控制的实例,它展示了如何在不修改业务代码的情况下,通过切面来插入权限检查,提高了代码的整洁性和安全性。通过对不同类型的AOP通知的理解和实践,...

    aop权限管理实例

    总的来说,这个AOP权限管理实例展示了如何利用Spring的AOP特性,结合过滤器和工具类,实现细粒度的权限控制,以及在不侵入业务逻辑的前提下,实现权限验证的统一处理。这样的设计模式有助于提高代码的可维护性和可...

    SpringAOP禁止非法请求路径实例

    在Spring框架中,AOP(Aspect Oriented Programming,面向切面编程)是一种强大的设计模式,它允许程序员在不修改源代码的情况下,通过插入被称为“切面”的代码来增强功能或处理横切关注点,如日志、事务管理、权限...

    spring AOP 例子参考

    本教程将深入探讨Spring AOP的概念、工作原理以及如何通过实例来理解和应用这一技术。 **一、Spring AOP基本概念** 1. **切面(Aspect)**:切面是关注点的模块化,例如日志、事务管理。在Spring AOP中,切面由...

    使用代理实现简易的spring aop功能

    在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许程序员定义横切关注点,如日志、事务管理、权限检查等,并将它们模块化为可重用的切面。在这个例子中,我们将探讨如何使用动态代理来实现一个简单的...

    Spring之AOP在鉴权和日志记录中的应用

    1. **切面(Aspect)**:AOP的核心概念,它封装了关注点,如日志记录或权限验证。一个切面通常包含一个或多个通知(advice)。 2. **通知(Advice)**:在特定连接点(join point)执行的代码,例如方法调用前、后...

    spring aop 例子

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下对程序进行横切关注点(如日志、事务管理、权限控制等)的处理方式。本实例将帮助你深入理解并快速掌握Spring AOP的核心...

    aop例子aop例子

    在Spring AOP中,拦截器(Interceptor)是实现切面的一种方式,它可以拦截并处理方法调用前后的逻辑,比如执行日志记录、权限验证等操作。 3. `ehcache.xml`:这是EhCache的配置文件,通常包括缓存策略、缓存区域等...

    springAOP之代理模式.docx

    在OOP中,常见的如日志记录、权限验证等功能往往需要在每个业务方法中重复编写,导致代码可维护性降低。AOP的出现是为了引入一种新的编程范式,通过定义切面来处理这些通用行为,将关注点分离,从而提高代码的复用性...

    Spring AOP 配置小节

    本文将深入探讨Spring AOP的配置及其应用场景,通过实例来帮助理解。 首先,我们需要了解AOP的基本概念。在Spring中,AOP主要通过切面(Aspect)、通知(Advice)、连接点(Join Point)、切入点(Pointcut)和织入...

    spring 使用 AspectJ注解开发Spring AOP.docx

    在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许我们在不修改原始代码的情况下,通过插入额外的功能来扩展或增强应用程序的行为。在本案例中,我们将探讨如何使用AspectJ注解来开发Spring AOP。 首先...

    SpringAOP切面实例讲解及应用场景(通俗易懂)

    **Spring AOP 切面实例详解** 在软件开发中,面向切面编程(Aspect-Oriented Programming,简称 AOP)是一种编程范式,它旨在提高代码的可复用性和模块化,通过将关注点分离来简化系统设计。Spring 框架提供了对 ...

    spring-aop.rar(资源免积分/C币)

    在实验中,我们可以创建一个主类,通过Spring容器获取服务类实例,并调用相关方法来观察AOP通知的执行效果。通过断点和日志输出,我们可以验证切面是否按预期工作。 五、总结 Spring AOP通过注解简化了切面的实现,...

Global site tag (gtag.js) - Google Analytics