美文网首页
Shiro日记

Shiro日记

作者: questionuncle | 来源:发表于2017-06-24 14:55 被阅读0次

项目快完工了,领导要求加上用户权限管理。我了个去,这算是地基工程啊,现在才加,可以预见要折腾一番了。

同事已经做了个用户管理系统,负责帐户管理和权限管理。并通过Dubbo注册发布服务,要求我从注册中心获得服务,并根据表单提交的用户名、密码进行鉴权和授权。

首先,给项目添加个Filter,在web.xml中添加shiroFilter

添加shiroFilter

其次,需要通过Spring MVC注入shiroFilter,其定义如下

shiroFilter注入

小插曲:在登陆跳转时,按道理是应该跳转到successUrl指定的地址上去,但是,我在无session登陆时候,老是跳转到默认的"/"(如果存在用户session,它会跳转到上次session会话时停留的页面,这个功能挺好)。最后,重写FormAuthenticationFilter类,并指定URL。参考:Shiro登录成功之后跳到指定URL

myFormAuthenticationFilter注入 MyFormAuthenticationFilter类

回到正文:securityManager是Shiro的心脏;所有具体的交互都通过SecurityManager进行控制;它管理着所有Subject、且负责进行认证和授权、及会话、缓存的管理。参考:第一章 Shiro简介——《跟我学Shiro》

shiro结构 securityManager注入

这其中最重要的属性当属realm,可以有1个或多个Realm,可以认为是安全实体数据源,即用于获取安全实体的;可以是JDBC实现,也可以是LDAP实现,或者内存实现等等;由用户提供;根据数据源,对用户进行鉴权和授权。

shiroDbRealm注入

shiroDbRealm类定义如下

鉴权 授权

其中,红框内的Service为注册在Dubbo中的分布式服务。可以在Dubbo配置文件中予以声明注入。(在项目启动过程中,可能会去检测服务provider是否存活,而影响项目运行,可以在该处设置check=false,关闭检测)

Dubbo服务注入

最后,绘制登陆页面,配置首页根据MenuSearchInterface请求资源组织菜单项

查询menus 页面显示对应的url

相关文章

  • Shiro日记

    项目快完工了,领导要求加上用户权限管理。我了个去,这算是地基工程啊,现在才加,可以预见要折腾一番了。 同事已经做了...

  • 权限管理框架--Shiro

    1.shiro概述 1.1shiro是什么 1.2shiro能做什么 1.3Shiro特性 1.4shiro架构 ...

  • SpringBoot+Shiro+JWT

    SpringBoot+Shiro+JWT 一、Shiro 1、什么是shiro? Apache Shiro是一个强...

  • Java框架--Shiro入门

    目录 shiro 是什么? shiro 可以解决什么问题? shiro 名词解释&认证流程 shiro 快速入门 ...

  • Shiro入门

    Shiro 什么是Shiro? Apache Shiro 是一个Java的安全框架。 关于shiro的相关概念: ...

  • springboot + shiro +cas 集成

    shiro 认证流程图: shiro 授权流程图: shiro 认证时序图: shiro + cas 认证时序图:...

  • Shiro安全框架

    Shiro Session管理Shiro 缓存管理Shiro集成SpringShiro集成SpringBoot:h...

  • Apache Shiro 是什么 & Shiro 框架介绍

    Apache Shiro 是什么 & Shiro 框架介绍 官方介绍 Apache Shiro™ is a pow...

  • 20170927-shiro 集成spring(四)

    前景提要:shiro 集成spring(一)shiro 集成spring(二)shiro 集成spring(三) ...

  • SpringBoot整合Shiro

    SpringBoot整合Shiro Apache Shiro Apache Shiro是一个功能强大、灵活的...

网友评论

      本文标题:Shiro日记

      本文链接:https://www.haomeiwen.com/subject/mplkcxtx.html