shiro认证过程


很多第一次使用shiro做demo的同学经常问我 为什么我提交的登录表单为什么没有拦截到,其实是因为他们没有对login拦截

将拦击链设置如下即可:


	
		
		
		
		
			
				/login = authc
				/logout = logout
				/static/** = anon
				/api/** = anon
				/register/** = anon
				/admin/** = roles[admin]
				/** = user
			
		
	
	
/login = authc 当这个拦截器错用的时候就会进入shiro的框架系统。

authc对应的反射类为 org.apache.shiro.web.filter.authc.FormAuthenticationFilter

即表单拦截器, 它的父类中有一个executeLogin方法里面有subject.login(token)方法。这样程序 就进入了下图流程。



shiro认证过程_第1张图片


此图的过程如下,subject.login(token)后,shiro的主要管理者 Security Manager接管,它委托给Authenticater进行认证,Authenticater会将token传给realm,realm会将token信息与数据库中的信息进行对比,如果有对不上的 就是认证成功。


你可能感兴趣的:(一句话总结,shiro)