<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 蘆葦 閱讀(872) 評論(0)  編輯  收藏 所屬分類: SpringJAVA
    主站蜘蛛池模板: 亚洲精品午夜无码专区| 国产AV无码专区亚洲AV漫画| 久久亚洲AV无码精品色午夜| 久久综合九色综合97免费下载| 浮力影院亚洲国产第一页| 一个人看www免费高清字幕| 亚洲精品国精品久久99热| 五月天国产成人AV免费观看| 中文字幕亚洲专区| 国产在线精品观看免费观看| 4338×亚洲全国最大色成网站| 久久久WWW免费人成精品| 国产亚洲精品xxx| 免费人妻无码不卡中文字幕系| 婷婷亚洲久悠悠色悠在线播放| 91久久精品国产免费一区| 亚洲国产日韩综合久久精品| 日韩免费无码一区二区视频 | 亚洲日产2021三区| 国产人成免费视频网站| 亚洲精品456人成在线| 全部免费毛片在线| 羞羞视频免费网站在线看| 久久亚洲精品无码aⅴ大香 | 国产好大好硬好爽免费不卡| 久久精品国产精品亚洲毛片| 在人线av无码免费高潮喷水| 麻豆亚洲AV成人无码久久精品| 久久亚洲中文字幕精品一区四| 99免费观看视频| 色窝窝亚洲av网| 亚洲AV美女一区二区三区| 成人黄页网站免费观看大全| 一级一片免费视频播放| 亚洲精品无码久久毛片波多野吉衣 | 亚洲va精品中文字幕| 亚洲精品无码专区久久同性男| 免费精品99久久国产综合精品| 亚洲av永久无码嘿嘿嘿| 亚洲午夜激情视频| 又黄又爽又成人免费视频|