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

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

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

    asdtiang的博客 感謝blogjava提供的博客交流平臺

    grails acegi ajax登錄

    Posted on 2011-01-07 14:47 asdtiang 閱讀(755) 評論(2)  編輯  收藏 所屬分類: grails study
    js代碼如下:

    <script type='text/javascript'>
    /////ajax登錄js
        function showLogin() {
            $('ajaxLogin').style.display 
    = 'block';
        }

        
    function onSuccessfulLogin(url) {
            
    //alert(url);
            document.form1.action=url;
            document.form1.submit();
        }


        
    function authAjax() {
            
    var form = document.ajaxLoginForm;
            
    var params = Form.serialize(form)
                    
    + '&spring-security-redirect=/login/ajaxSuccess';
            
    //Form.disable(form);
            new Ajax.Request(form.action, {
                method : 'POST',
                postBody : params,
                onSuccess : 
    function(response) {
                    
    var responseText = response.responseText || '[]';
                    
    var json = responseText.evalJSON();
                    
    if (json.success) {
                        
    //alert("ok");
                        onSuccessfulLogin(json.url);
                    }
     else if (json.error) {
                        alert(json.error);
                        Form.enable(document.ajaxLoginForm);
                    }
     else {
                        Element.update('loginMessage', responseText);
                        Form.enable(document.ajaxLoginForm);
                    }

                }

            }
    );
        }

    </script>

    login代碼示例:

    def ajaxSuccess = {
            nocache(response)
            def config 
    = authenticateService.securityConfig.security
            def postUrl 
    = "${request.contextPath}${config.defaultTargetUrl}"
            render 
    "{success: true,url:'${postUrl}'}"http://這里返回的是json
        }




    def authfail 
    = {

            def username 
    = session[AuthenticationProcessingFilter.SPRING_SECURITY_LAST_USERNAME_KEY]
            def msg 
    = ''
            def exception 
    = session[AbstractProcessingFilter.SPRING_SECURITY_LAST_EXCEPTION_KEY]
            
    if (exception) {
                
    if (exception instanceof DisabledException) {
                    msg 
    = "[$username] 用戶被禁用."
                }

                
    else {
                    msg 
    = "[$username] 錯誤的用戶名或密碼."
                }

            }


            
    if (isAjax()) {
                render 
    "{error: '${msg}'}"
            }

            
    else {
                flash.message 
    = msg
                redirect action: auth, params: params
            }

        }






    頁面:
     

    <form id="form1" name="form1" target="_blank"></form>

    <form action='${request.contextPath}/j_spring_security_check'

        method='POST' id='ajaxLoginForm' name='ajaxLoginForm' target="_blank">

    用戶名<input id="j_username" name="j_username" type="text" />   

    &nbsp;&nbsp;&nbsp;&nbsp;<input name="j_password" id="j_password" type="password" /><input onclick='authAjax(); return false;'type="image" src="login.jpg" />

    </form>


    暫時想不起來為什么用兩個form呢,最后引入js:<g:javascript library="prototype" />



    天蒼蒼,野茫茫,風吹草底見牛羊

    Feedback

    # re: grails acegi ajax登錄[未登錄]  回復  更多評論   

    2011-05-14 19:24 by oksonic
    你好,看了這篇文章,實際了登錄跳轉,非常感謝。
    但我不能明白的是authfail為什么實現不了?

    # re: grails acegi ajax登錄  回復  更多評論   

    2011-05-18 21:59 by asdtiang
    代碼貼出來看下,不過,我想應該解決了吧

    posts - 80, comments - 24, trackbacks - 0, articles - 32

    Copyright © asdtiang

    asdtiang的博客 PaidMailz
    點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
    主站蜘蛛池模板: 一区二区三区亚洲视频| 少妇亚洲免费精品| 亚洲天堂视频在线观看| 免费国产叼嘿视频大全网站| 在线观看亚洲精品国产| 国产一区二区三区免费观在线| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲av无码专区亚洲av不卡| 成年人在线免费看视频| 亚洲七久久之综合七久久| 女人18毛片水真多免费播放| 亚洲精品天堂无码中文字幕| 免费在线观看日韩| 国产精品无码永久免费888| 亚洲成AV人片在线观看| 亚洲免费视频播放| 99999久久久久久亚洲| 国产美女精品视频免费观看| 又硬又粗又长又爽免费看| 亚洲成Av人片乱码色午夜| 永久免费视频网站在线观看| 中文字幕在亚洲第一在线| 在线涩涩免费观看国产精品| 亚洲日本香蕉视频| 国产一区二区免费在线| A片在线免费观看| 亚洲乱码中文字幕小综合| 国产一区视频在线免费观看| 免费国产成人午夜在线观看| 亚洲videosbestsex日本| 亚洲av成人一区二区三区在线观看 | 羞羞视频在线免费观看| 国产精品亚洲一区二区三区在线| 1000部夫妻午夜免费| 美女被免费网站在线视频免费| 亚洲午夜久久久久久久久久| 免费人成网站在线观看10分钟| 免费播放国产性色生活片| 亚洲AV成人片色在线观看 | 国产一级一毛免费黄片| 亚洲videos|