οnclick="formSubmit('${ctx}/login.action','_self');"---》
public String login() throws Exception---》
subject.login(token);//当这一代码执行时,就会自动跳入到AuthRealm中认证方法---》
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token)---》
AuthenticationInfo info = new SimpleAuthenticationInfo(user,user.getPassword(),this.getName());
return info; //此处如果返回,就会立即进入到密码比较器----》
public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
return this.equals(pwd, dbPwd);
}----》
如果密码相等,就从Shiro中取出用户的登录信息
User user = (User) subject.getPrincipal();
将用户放入session域中
session.put(SysConstant.CURRENT_USER_INFO, user);----》
//授权 当jsp页面出现Shiro标签时,就会执行授权方法
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pc) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
info.addStringPermissions(permissions);//添加用户的模块(权限)
return info;
}