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
网友评论