JEESITE登录流程简单梳理

sysLogin.jsp登录:

spring-context-shiro.xml中shiro安全认证过滤器:


	
	
	
	
           
               
               
           
       
	
		
	

用户登录提交后,先指定了formAuthenticationFilter进行过滤,如果过滤认证成功,则访问/a/login。
protected AuthenticationToken createToken(ServletRequest request, ServletResponse response) {
	String username = getUsername(request);
	String password = getPassword(request);
	if (password==null){
		password = "";
	}
	boolean rememberMe = isRememberMe(request);
	String host = StringUtils.getRemoteAddr((HttpServletRequest)request);
	String captcha = getCaptcha(request);
	boolean mobile = isMobileLogin(request);
	return new UsernamePasswordToken(username, password.toCharArray(), rememberMe, host, captcha, mobile);
}
FormAuthenticationFilter根据用户登录表单提交的信息生成一个token,然后交给SystemAuthorizingRealm进行认证。先是调用doGetAuthenticationInfo进行身份验证,然后再调用doGetAuthorizationInfo进行授权验证。最后返回LoginController的login进行跳转。

更多详情参考下面两篇博文:
1. jeesite 登录模块的从头到尾整合
2. Jeesite中shiro的用法讲解

你可能感兴趣的:(Jeesite)