您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

时间:2020-09-21 11:56:19  来源:  作者:

1创建一个SpringBoot项目

2在项目里定义一个接口,放在com.cy.pj.mail.service下,写一个方法。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

写一个实现类取继承接口,想要定义一个日志处理,想要以AOP的方式注入。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

3写一个测试类,要交给spring管理。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

有输出结果为hello cgb2006

4接着不去写切面实现AOP的功能,至少得有通知,和切入点。先新建一个注解,这个注解在运行有效,希望注解描写得方法为目标方法,有了注解,接下来还少一个通知。

借助此注解描述一个切入点方法

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

在实现类得上面

5写一个通知得class,取实现一个接口,这个接口里得方法有一个功能,会取执行目标方法。最先得通知需要写到切面对象里去。MethodInterceptor原先就是一个日志通知对象,里面有advice。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

invocation可以看成一个连接点对象,放在了目标方法信息,可以通过反射获得。

6现在又了切入点和通知,需要把对象放到advice里面去

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

这个advisor又叫顾问,它作用是告诉BeanProcessor,在这个切入点上,也就是(Pointcut)为目标对象创建对象,接下来就是写Adcisor。Adcisor必须满足一些要求,在Browse上继承

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

这个对象要交给spring管理,所以@Component

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

method封装了目标封装对象

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

这就是判定方法是不是切入点的一个入口

接着

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

当前的springBoot需要配置DefauktAdvisorAutoProxyCreator

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

直接在启动类里进行

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

方法名

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

运行结果。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

shiro最核心的是SecurityManager,注意包是哟啊shiro包

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

@Bean是描述的方法为spring要管理的对象,方法名默认为bean的名称,@Conponent是能描述类1

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

项换方法名就@Bean("aaaa")

2配置过滤规则,例如对那些请求进行认证,那些请求可以直接放行。spring容器在调用这个方法的时候,会按类型,为方法参数注入一个对象,相当于在方法上加了一个@AuTowired,如果又多个对象,可以

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

linkedHashMap是底层要求的

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

接下来写对map的要求

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

下一步写一个方法可以返回登入页面。

在配置controller下写返回页面就是处理所有页面请求的界面

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

还需要设置一下

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

除了静态资源,其他访问都需要通过认证

建立一个需求当输入doIndexUI可以直接进入页面

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

直接加map里面

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

总结 三不走

1 先进行配置对象,对象需要进行请求授权

2 配置ShiroFilerFactoryBean,负责创建过滤器工厂,由了过滤器,拿到请求,假如请求进行认证分析就需要DefaultWebSecurityManager,所以要把DefaultSecurityManager注入给ShiroFilterFactoryBean,因为它会把对象的引用传给过滤器(filters),filters就会掉用这个方法DefaultSecurityManager来进行认证分析

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

认证分析请求流程

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

浏览器提供一个请求,token是用来封装用户信息的,Subject就是承载信息的车,提交给Secuirty manager,Secuirty manager还需要从数据库去信息,和提交信息进行比对,就在传递给Authenticator的时候,这里面有一个认证方法,数据库通过room??

认证信息和认证凡是不同,选择认证策略。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

大概步骤:1是写在了doLogin方法里面,token封装了信息,subject传输。还有一个是关联Realm完成认证。

Realm拿到两部分数据交给方法。主要写controller,Realm,还有配置文件。

1数据层基于用户名去找信息

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

3写Realm继承Aut啥的,可以重写set和get。

操作1数据层:

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

2业务层,写一个Realmclass

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

这个realm默认情况下有认证跟授权

1)注意这个是重写,所以返回值要符合要求

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

接下来对比个数据库里的。就是另一个重写

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

取配置类把realm写进去

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

别倒错包

去控制层写一个处理登入的方法,一个用户名,一个方法。要先去取subject

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

之后去修改下配置类

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

可以测试了,个地方不对

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

上面部分补充。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

user将来传什么就取什么,已加密的密码就是从数据库取出来的

传什么值=由构造方法决定,逻辑上讲应该先写后面的

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

写2后加p

由登入就有退出

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

把数据清除,并跳转回登入页面。

设置一个登入错误的弹框,一个提示,定义一个同意的异常方法。cv

由个注解=@ControllerAdvice+@ResponseBody

授权删除权限!!!

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

由了切入点,还得由通知

菜单页面看到得都是授权标识

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

给用户分配权限得过程

添加得时候

这个也有授权标识。

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

操作把这个标识符给

基于用户找菜单

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

去用户角色表

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

基于角色找菜单

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

基于菜单找授权标识

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

下面回到映射

原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 


原生AOP的实现以及shior框架授权,图文并茂,收藏学习

 

下面业务层

来源:https://segmentfault.com/a/1190000024517798?utm_source=tuicool&utm_medium=referral



Tags:shior框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1创建一个SpringBoot项目2在项目里定义一个接口,放在com.cy.pj.mail.service下,写一个方法。 写一个实现类取继承接口,想要定义一个日志处理,想要以AOP的方式注入。 3写一个测试...【详细内容】
2020-09-21  Tags: shior框架  点击:(73)  评论:(0)  加入收藏
▌简易百科推荐
近日只是为了想尽办法为 Flask 实现 Swagger UI 文档功能,基本上要让 Flask 配合 Flasgger, 所以写了篇 Flask 应用集成 Swagger UI 。然而不断的 Google 过程中偶然间发现了...【详细内容】
2021-12-23  Python阿杰    Tags:FastAPI   点击:(6)  评论:(0)  加入收藏
文章目录1、Quartz1.1 引入依赖<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version></dependency>...【详细内容】
2021-12-22  java老人头    Tags:框架   点击:(11)  评论:(0)  加入收藏
今天来梳理下 Spring 的整体脉络啦,为后面的文章做个铺垫~后面几篇文章应该会讲讲这些内容啦 Spring AOP 插件 (了好久都忘了 ) 分享下 4ye 在项目中利用 AOP + MybatisPlus 对...【详细内容】
2021-12-07  Java4ye    Tags:Spring   点击:(14)  评论:(0)  加入收藏
&emsp;前面通过入门案例介绍,我们发现在SpringSecurity中如果我们没有使用自定义的登录界面,那么SpringSecurity会给我们提供一个系统登录界面。但真实项目中我们一般都会使用...【详细内容】
2021-12-06  波哥带你学Java    Tags:SpringSecurity   点击:(18)  评论:(0)  加入收藏
React 简介 React 基本使用<div id="test"></div><script type="text/javascript" src="../js/react.development.js"></script><script type="text/javascript" src="../js...【详细内容】
2021-11-30  清闲的帆船先生    Tags:框架   点击:(19)  评论:(0)  加入收藏
流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术。本文主要介绍了诞生于云原生时代的流水线框架 Argo。 什么是流水线?在计算机...【详细内容】
2021-11-30  叼着猫的鱼    Tags:框架   点击:(21)  评论:(0)  加入收藏
TKinterThinter 是标准的python包,你可以在linx,macos,windows上使用它,你不需要安装它,因为它是python自带的扩展包。 它采用TCL的控制接口,你可以非常方便地写出图形界面,如...【详细内容】
2021-11-30    梦回故里归来  Tags:框架   点击:(26)  评论:(0)  加入收藏
前言项目中的配置文件会有密码的存在,例如数据库的密码、邮箱的密码、FTP的密码等。配置的密码以明文的方式暴露,并不是一种安全的方式,特别是大型项目的生产环境中,因为配置文...【详细内容】
2021-11-17  充满元气的java爱好者  博客园  Tags:SpringBoot   点击:(25)  评论:(0)  加入收藏
一、搭建环境1、创建数据库表和表结构create table account(id INT identity(1,1) primary key,name varchar(20),[money] DECIMAL2、创建maven的工程SSM,在pom.xml文件引入...【详细内容】
2021-11-11  AT小白在线中  搜狐号  Tags:开发框架   点击:(29)  评论:(0)  加入收藏
SpringBoot开发的物联网通信平台系统项目功能模块 功能 说明 MQTT 1.SSL支持 2.集群化部署时暂不支持retain&will类型消 UDP ...【详细内容】
2021-11-05  小程序建站    Tags:SpringBoot   点击:(55)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条