返回顶部
首页 > 资讯 > 精选 >spring aop实现用户权限管理的示例
  • 831
分享到

spring aop实现用户权限管理的示例

springaop权限 2023-05-30 18:05:46 831人浏览 八月长安
摘要

aop 在实际项目中运用的场景主要有 权限管理(Authority Management)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging)

aop 在实际项目中运用的场景主要有 权限管理(Authority Management)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging) 等。

问题源于项目开发

最近项目中需要做一个权限管理模块,按照之前同事的做法是在controller层的每个接口调用之前上做逻辑判断,这样做也没有不妥,但是代码重复率太高,而且是体力劳动,so,便有了如题所说的使用spring aop做一个切点来实现通用功能的权限管理,这样也就降低了项目后期开发的可扩展性。

权限管理的代码实现与配置文件

在最小的代码修改程度上,aop无疑是最理想的选择。项目中有各种权限的复合,相对来说逻辑复杂度比较高,所以一步步来。因为权限涉及到的是后端接口的调用所以楼主选择在controller层代码做切面,而切点就是controller中的各个方法块,对于通用访问权限,我们使用execution表达式进行排除。

只读管理员权限的实现及切点选择

对于实现排除通用的controller,楼主采用的是execution表达式逻辑运算。因为只读管理员拥有全局读权限,而对于增删改权限,楼主采用的是使用切点切入是增删改的方法,so,这个时候规范的方法命名就很重要了。对于各种与只读管理员进行复合的各种管理员,我们在代码中做一下特殊判断即可。下面是spring aop的配置文件配置方法。

<bean id="usersPermissionsAdvice"     class="com.thundersoft.metadata.aop.UsersPermissionsAdvice"/>  <aop:config>    <!--定义切面 -->    <aop:aspect id="authAspect" ref="usersPermissionsAdvice">      <!-- 定义切入点 (配置在com.thundersoft.metadata.WEB.controller下所有的类在调用之前都会被拦截) -->      <aop:pointcut          expression="(execution(* com.thundersoft.metadata.web.controller.*.add*(..)) or          execution(* com.thundersoft.metadata.web.controller.*.edit*(..)) or          execution(* com.thundersoft.metadata.web.controller.*.del*(..)) or          execution(* com.thundersoft.metadata.web.controller.*.update*(..)) or          execution(* com.thundersoft.metadata.web.controller.*.insert*(..)) or          execution(* com.thundersoft.metadata.web.controller.*.modif*(..))) or          execution(* com.thundersoft.metadata.web.controller.*.down*(..))) and (          !execution(* com.thundersoft.metadata.web.controller.FindPassWordController.*(..)) and          !execution(* com.thundersoft.metadata.web.controller.SelfServiceController.*(..)) and          !execution(* com.thundersoft.metadata.web.controller.HomeController.*(..)) and          !execution(* com.thundersoft.metadata.web.controller.UserStatusController.*(..)) and          !execution(* com.thundersoft.metadata.web.controller.DashboardController.*(..)) and          !execution(* com.thundersoft.metadata.web.controller.MainController.*(..))))"          id="authPointCut"/>      <!--方法被调用之前执行的 -->      <aop:before method="readOnly"            pointcut-ref="authPointCut"/>    </aop:aspect>  </aop:config>

--结束END--

本文标题: spring aop实现用户权限管理的示例

本文链接: https://lsjlt.com/news/220496.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring aop实现用户权限管理的示例
    AOP 在实际项目中运用的场景主要有 权限管理(Authority Management)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging) ...
    99+
    2023-05-30
    spring aop 权限
  • ORACLE用户权限管理的示例分析
    小编给大家分享一下ORACLE用户权限管理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天带大家一起来了解一下ORA...
    99+
    2024-04-02
  • Mysql 用户权限管理实现
    1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 。 mysql权限表的验证过程为: ...
    99+
    2022-05-25
    Mysql 用户权限管理
  • Spring AOP实现功能权限校验功能的示例代码
    实现功能权限校验的功能有多种方法,其一使用拦截器拦截请求,其二是使用AOP抛异常。 首先用拦截器实现未登录时跳转到登录界面的功能。注意这里没有使用AOP切入,而是用拦截器拦截,因为AOP一般切入的是service层方法,而拦截器是拦截控制器...
    99+
    2023-05-30
    spring aop 权限
  • mysql用户权限管理实例分析
    本文实例讲述了mysql用户权限管理。分享给大家供大家参考,具体如下: 本文内容: 什么是用户权限 恰当的用户权限 查看权限 修改权限 删除权限 首发日期:2018-04-19 什么是用户...
    99+
    2022-05-15
    mysql 用户权限管理
  • Spring AOP实现原理的示例分析
    这篇文章将为大家详细讲解有关Spring AOP实现原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可...
    99+
    2023-05-30
    spring aop
  • 如何实现mysql用户权限管理
    这篇文章主要讲解了如何实现mysql用户权限管理,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。本文内容:什么是用户权限恰当的用户权限查看权限修改权限删除权限首发日期:2018-...
    99+
    2024-04-02
  • Mysql如何实现用户权限管理
    小编给大家分享一下Mysql如何实现用户权限管理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. MySQL 权限介绍mysql中存在4个控制权限的表,分别为u...
    99+
    2023-06-15
  • MySQL如何实现用户管理与权限管理
    这篇文章主要为大家展示了“MySQL如何实现用户管理与权限管理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何实现用户管理与权限管理”这篇文章吧。 ...
    99+
    2024-04-02
  • mongodb基础之用户权限管理的示例分析
    这篇文章主要介绍了mongodb基础之用户权限管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。启动mongodb并连接./bin...
    99+
    2024-04-02
  • MySQL中怎么实现用户账户管理和权限管理
    MySQL中怎么实现用户账户管理和权限管理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql 的权限体系大致分为5个层级:全局层级全局权...
    99+
    2024-04-02
  • mysql中用户管理和权限控制的示例分析
    这篇文章主要介绍mysql中用户管理和权限控制的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:用户的创建(两种方法): 方法一:CREATE USER 'use...
    99+
    2024-04-02
  • MYSQL用户权限管理
    1.在MySQL中,用户是怎么定义的 #mysql中,定义一个用户是: 用户名@‘主机域‘ #用户名写法: 用户名如果是字符: mysql> create user [email protected]‘10.0.0.1‘; 用户...
    99+
    2015-02-26
    MYSQL用户权限管理 数据库入门 数据库基础教程
  • mongodb用户权限管理
    1、添加一个管理账号mongo --host 127.0.0.1 --port  27000 use admin db.addUser('admi...
    99+
    2024-04-02
  • Spring Security权限管理实现接口动态权限控制
    目录摘要前置知识数据库设计数据库表结构数据库表介绍ums_adminums_roleums_admin_role_relationums_menuums_resourceums_re...
    99+
    2024-04-02
  • 如何使用Spring Boot+Shiro实现权限管理
    这篇文章主要介绍如何使用Spring Boot+Shiro实现权限管理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:配置pom.xml文件<dependency><groupId>org....
    99+
    2023-06-02
  • MongoDB用户及权限管理(二):用户管理
    一、创建管理员账号下面开始创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。> use adminsw...
    99+
    2024-04-02
  • MySQL用户权限验证与管理方法的示例分析
    这篇文章给大家分享的是有关MySQL用户权限验证与管理方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Mysql权限分两阶段验证1. 服务器检查是否允许连接:用户...
    99+
    2024-04-02
  • MySQL 用户和权限管理
    Mysql修改密码的方式如果忘记密码--skip-grant-tables 1、alter user alter user test@'localhost&#...
    99+
    2024-04-02
  • Oracle11g 用户与权限管理
    ---用户与权限管理---- --1,用户-- Create User 用户名 Identified By "口令" Default Tablespace 表空间       ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作