shiro 用ajax方式登录的话,如何配置

liam 发布于 2012/06/28 09:44
阅读 6K+
收藏 3

<property name="loginUrl" value="/login" />

<property name="successUrl" value="/success" />

这里配置的路径如何使用ajax方式啊?比如用jQuery,或者Extjs

加载中
1
我本不帅

<!-- shiro配置文件部分 -->
<property name="filterChainDefinitions">
    <value>
        /ajaxLogin = anon
    </value>	
</property>

/**
 * ajax登录 spring mvc 实现
 */
@RequestMapping(value = "/ajaxLogin")
@ResponseBody
public Object ajaxLogin(@RequestParam String username, @RequestParam String password, @RequestParam boolean rememberMe){
	Subject currentUser = SecurityUtils.getSubject();
	if (!currentUser.isAuthenticated()) {
      UsernamePasswordToken token = new UsernamePasswordToken(username, password);
      token.setRememberMe(rememberMe);
        
		try{
			currentUser.login(token);
		}catch(UnknownAccountException ex){
			logger.debug("账号错误");
		}catch(IncorrectCredentialsException ex){
			logger.debug("密码错误");
		}catch(LockedAccountException ex){
			logger.debug("账号已被锁定,请与系统管理员联系");
		}catch(AuthenticationException ex){
			logger.debug("您没有授权!");
		}
	}
	
	//返回json数据
  return null;
}

 

s
star2000
谢谢,方法有用
1
J
JessyF

如果采取ajax方式登录,那么ShiroDbRealm里中的doGetAuthenticationInfo方法还有必要实现?如果需要,那什么情况下会调用到此方法?

返回顶部
顶部