spring-shiro最基本的配置,就这一篇入门

Apache Shiro是一个强大的,易用的Java安全框架。它被用作于认证,授权,加密,session管理。依赖于Shiro简单易懂的API,就可以快速的构建包括手机,大型web和商业应用。今天小编就带大家入门shiro,你会发现shiro并没有你想的那么难。

1、添加依赖,这里只展示shiro的,Spring的依赖及配置如果不懂得可以加QQ群:105249460,问群主

spring-shiro最基本的配置,就这一篇入门_第1张图片

2、再web.xml中添加shiro的过滤器,很重要,注意点节点,再shiro的配置文件中必须要有此filter-name的bean存在,否则会出错。

spring-shiro最基本的配置,就这一篇入门_第2张图片

3、shiro配置文件,这里命名为applicationContext-shiro.xml,详细内容看注释基本就可以懂了

spring-shiro最基本的配置,就这一篇入门_第3张图片
spring-shiro最基本的配置,就这一篇入门_第4张图片
spring-shiro最基本的配置,就这一篇入门_第5张图片
spring-shiro最基本的配置,就这一篇入门_第6张图片
spring-shiro最基本的配置,就这一篇入门_第7张图片

注意:
1) 为了使登录走我们自定义的过滤器登录的URL拦截必须是authc,因为我们的FormFilter集成的FormAuthenticationFilter,否则是就需要在Controller写登录的代码。
2) 再次强调bean的ID为shiroFilter必须要和web.xml中保持一致,不明白为什么的可以看下源码

4、realm实现,一般我们继承AuthorizingRealm类实现其中的doGetAuthenticationInfo(认证登录用户)和doGetAuthorizationInfo(设置登录用户的角色和权限)两个方法即可

(1)doGetAuthenticationInfo方法

spring-shiro最基本的配置,就这一篇入门_第8张图片
spring-shiro最基本的配置,就这一篇入门_第9张图片

(2)doGetAuthenticationInfo方法

spring-shiro最基本的配置,就这一篇入门_第10张图片

(3)setSession方法

spring-shiro最基本的配置,就这一篇入门_第11张图片

5、实现表单的filter让shiro为我们执行登录操作,我能只需添加验证码即可,需要继承FormAuthenticationFilter,需要我们注意的也就下面这几个方法,其中在onAccessDenied中我们添加验证码的操作,setFailureAttribute中我们可以在request对象中设置失败的消息,在preHandle拦截登录的请求,防止二次登录。

spring-shiro最基本的配置,就这一篇入门_第12张图片
spring-shiro最基本的配置,就这一篇入门_第13张图片
spring-shiro最基本的配置,就这一篇入门_第14张图片
spring-shiro最基本的配置,就这一篇入门_第15张图片
spring-shiro最基本的配置,就这一篇入门_第16张图片

6、接下来我们需要一个LoginController,里面的方法很简单

spring-shiro最基本的配置,就这一篇入门_第17张图片


这样就完成了shiro的集成,如果还有不懂得同学可以添加QQ群:105249460

你可能感兴趣的:(Java)