2 shiny4647 shiny4647 于 2014.01.12 10:52 提问

shiro自定义authc过滤器的问题

配置了








过滤器代码如下
public class FormAuthenticationCaptchaFilter extends FormAuthenticationFilter {
public static final String DEFAULT_CAPTCHA_PARAM = "captcha";

private String captchaParam = DEFAULT_CAPTCHA_PARAM;

public String getCaptchaParam() {

    return captchaParam;

}

protected String getCaptcha(ServletRequest request) {

    return WebUtils.getCleanParam(request, getCaptchaParam());

}

protected AuthenticationToken createToken(

ServletRequest request, ServletResponse response) {

    String username = getUsername(request);

    String password = getPassword(request);

    String captcha = getCaptcha(request);

    boolean rememberMe = isRememberMe(request);

    return new UsernamePasswordCaptchaToken(username,
            password, rememberMe, captcha);

}

 // 验证码校验
   protected void doCaptchaValidate( HttpServletRequest request 
      ,UsernamePasswordCaptchaToken token ){ 

       String captcha = (String) SecurityUtils.getSubject().getSession()
        .getAttribute(CaptchaServlet.KEY_CAPTCHA);

      if( captcha!=null && 
         !captcha.equalsIgnoreCase(token.getCaptcha()) ){ 
         throw new CaptchaException ("验证码错误!"); 
      } 
   } 


// 认证
   protected boolean executeLogin(ServletRequest request, 
      ServletResponse response) throws Exception { 
       UsernamePasswordCaptchaToken token = (UsernamePasswordCaptchaToken)createToken(request, response); 

      try { 
         doCaptchaValidate( (HttpServletRequest)request,token ); 

         Subject subject = getSubject(request, response); 
         subject.login(token); 

         return onLoginSuccess(token, subject, request, response); 
      } catch (AuthenticationException e) { 
         return onLoginFailure(token, e, request, response); 
      } 
   } 

}
但是在访问相应 url的时候再过滤器中debug进不去

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
遇到问题----shrio------shiro自定义filters无效
shiro  自定义filters无效需要注意filterChainDefinitions中的顺序,roles等应放在authc的前面。
我的shiro之旅:自定义filter
1. shiro的filter介绍 Filter Name Class anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter authcBasic org
spring 集成shiro 之 自定义过滤器
转:http://blog.csdn.net/shuishouhcd/article/details/9077379 最近一段时间,我一直在将shiro集成到我的一个项目中,用作认证和授权处理。             shiro对我来说是个新东西,以下是我学习过的内容:             http://shiro.apache.org/authoriz
Shiro 的user过滤器
项目里用到了Shiro这个权限框架,感觉呢,挺方便的。 看了一天多两天的样子。然后运行了一些例子,比较容易,后来看到一个过滤器,配置如下 [main] #默认是/login.jsp authc.loginUrl=/login roles.unauthorizedUrl=/unauthorized perms.unauthorizedUrl=/unauthorized logout.redir
shiro默认filter
shiro默认filter
Shiro几大拦截器
anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter authcBasic org.apache.shiro.web.filter.authc.BasicHttpAuthenticat
Shiro第四篇【Shiro与Spring整合、快速入门、Shiro过滤器、登陆认证】
Spring与Shiro整合导入jar包 shiro-web的jar、 shiro-spring的jar shiro-code的jar 快速入门shiro也通过filter进行拦截。filter拦截后将操作权交给spring中配置的filterChain(过虑链儿)在web.xml中配置filter <!-- shiro的filter --> <!-- shiro过虑器,Delegating
使用shiro的的表单过滤器重写shiro默认的认证规则来实现先验证验证码再验证登录所遇到的问题
我之前写过一篇用shiro实现登录认证的博文,今天就是在这基础上做出修改而成。由于对shiro认识不够深入,折腾了很久,今天主要就是对遇到的问题做出点小总结。 首先我先给出shiro的配置文件: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001
Apache Shiro Web应用过滤器
Shiro中一些默认的过滤器: Filter Name Class anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter
SpringMVC整合Shiro与filterChainDefinitions过滤器配置
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。第一步:配置web.xml<!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 --> <!-- 这里filter-name必须对应applicationContext.xml中定义的<bean id="shiroFilter"/> --> <!-- 使用[/*