开发者社区> 问答> 正文

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

<property name="loginUrl" value="/login" /> <property name="successUrl" value="/success" /> 这里配置的路径如何使用ajax方式啊?比如用jQuery,或者Extjs

展开
收起
kun坤 2020-06-03 16:13:59 421 0
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;
    }

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

    2020-06-05 13:30:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载