<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

    acegi的登陸過程

    先來無事看看acegi的登陸過濾器 寫下來當作備忘吧
    主要的類是AuthenticationProcessingFilter 繼承了AbstractProcessingFilter 這要的邏輯都在后面這個類中
    讓我們看看核心代碼吧
    Java代碼 復制代碼
    1. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,   
    2.         ServletException {   
    3.     if (!(request instanceof HttpServletRequest)) {   
    4.         throw new ServletException("Can only process HttpServletRequest");   
    5.     }   
    6.   
    7.     if (!(response instanceof HttpServletResponse)) {   
    8.         throw new ServletException("Can only process HttpServletResponse");   
    9.     }   
    10.   
    11.     HttpServletRequest httpRequest = (HttpServletRequest) request;   
    12.     HttpServletResponse httpResponse = (HttpServletResponse) response;   
    13.   
    14.     if (requiresAuthentication(httpRequest, httpResponse)) {   
    15.         if (logger.isDebugEnabled()) {   
    16.             logger.debug("Request is to process authentication");   
    17.         }   
    18.   
    19.         Authentication authResult;   
    20. /下面才是重點 上面都是些基本檢查   
    21.         try {   
    22.             onPreAuthentication(httpRequest, httpResponse);   
    23.             authResult = attemptAuthentication(httpRequest);//這個方法就是去登陸了 就是調用dao檢查用戶名密碼 登陸不成功將拋出異常   
    24.         }   
    25.         catch (AuthenticationException failed) {   
    26.             // Authentication failed   
    27.             unsuccessfulAuthentication(httpRequest, httpResponse, failed);   
    28.   
    29.             return;   
    30.         }   
    31.   
    32.         // Authentication success   
    33.         if (continueChainBeforeSuccessfulAuthentication) {   
    34.             chain.doFilter(request, response);   
    35.         }   
    36.   
    37.         successfulAuthentication(httpRequest, httpResponse, authResult);   
    38.   
    39.         return;   
    40.     }   
    41.   
    42.     chain.doFilter(request, response);   
    43. }  


    看一些登陸成功后 做些什么
    Java代碼 復制代碼
    1.     protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response,   
    2.             Authentication authResult) throws IOException {   
    3.         if (logger.isDebugEnabled()) {   
    4.             logger.debug("Authentication success: " + authResult.toString());   
    5.         }   
    6.   
    7. //把用戶信息保存到SecurityContextHolder中1980   
    8. SecurityContextHolder.getContext().setAuthentication(authResult);   
    9.   
    10.         if (logger.isDebugEnabled()) {   
    11.             logger.debug("Updated SecurityContextHolder to contain the following Authentication: '" + authResult + "'");   
    12.         }   
    13. //轉到目標頁面 即登陸成功頁面   
    14.         String targetUrl = determineTargetUrl(request);   
    15.   
    16.         if (logger.isDebugEnabled()) {   
    17.             logger.debug("Redirecting to target URL from HTTP Session (or default): " + targetUrl);   
    18.         }   
    19.   
    20.         onSuccessfulAuthentication(request, response, authResult);   
    21.   
    22.         rememberMeServices.loginSuccess(request, response, authResult);   
    23.   
    24.         // Fire event   
    25.         if (this.eventPublisher != null) {   
    26.             eventPublisher.publishEvent(new InteractiveAuthenticationSuccessEvent(authResult, this.getClass()));   
    27.         }   
    28.   
    29.         sendRedirect(request, response, targetUrl);   
    30.     }  
    posted on 2008-06-19 10:36 蘆葦 閱讀(877) 評論(0)  編輯  收藏 所屬分類: SpringJAVA
    主站蜘蛛池模板: 亚洲国产精品成人| 真实乱视频国产免费观看| 亚洲七七久久精品中文国产| 亚洲乱码一二三四区国产| 最近中文字幕无免费| 亚洲成人福利在线| 99国产精品永久免费视频| 亚洲综合色7777情网站777| 人禽杂交18禁网站免费| 亚洲国产成人无码AV在线影院| 成年在线网站免费观看无广告 | 亚洲成人免费在线观看| 亚洲精品资源在线| 亚州免费一级毛片| 国产成人亚洲综合一区| 四虎影视久久久免费观看| 久久成人国产精品免费软件| 亚洲成综合人影院在院播放| 成人毛片18岁女人毛片免费看| 亚洲国产欧洲综合997久久| 全黄性性激高免费视频| 久久久免费观成人影院| 久久亚洲美女精品国产精品| 免费无码精品黄AV电影| 美女被爆羞羞网站免费| 国产亚洲精品一品区99热| 精品熟女少妇a∨免费久久| 国产精品亚洲一区二区麻豆| 亚洲国产精品国产自在在线| 久久国产精品成人免费| 亚洲人成黄网在线观看| 亚洲?V无码乱码国产精品| 成人电影在线免费观看| 亚洲综合偷自成人网第页色 | 精品国产日韩亚洲一区| 欧洲人免费视频网站在线| 亚洲伊人成无码综合网 | 人成午夜免费大片在线观看| 亚洲国产天堂久久综合网站| 女人被弄到高潮的免费视频| 亚洲1区1区3区4区产品乱码芒果|