2017-04-23 59 views
0

這看起來應該很容易,但我無法自定義預先構建的spring-security-shrio的登錄(登錄/身份驗證)和註銷功能。如何自定義Spring Security Shiro Grails插件登錄註銷功能?

我想做一些事情,如添加一個登錄計數器或登錄日誌,以便當用戶登錄時我登錄他們是誰和其他信息,如IP地址。

此外,我去了源,發現LoginController,複製,但注意到該控制器內沒有驗證方法。

我從升級版本的Grails 2.4.4應用程序中的Grails 3+。生成的代碼在哪裏?任何指導將不勝感激。

+0

http://plugins.grails.org/plugin/grails/spring-security-shiro是印記四郎下下grails2的工作,但3 – Vahid

+0

呀,目前不支持仍然在破3有一個插件,雖然是橋樑的Grails 3,我有工作四郎和春季安全。 – mcroteau

回答

0

不四郎具體的,但你可以添加一個登錄目錄視圖然後加上自己的auth.gsp來處理記錄。

注意,從Grails的2改爲3數字的參數名稱例如j_username到用戶名請參見here

這裏有一個自舉風格一個I從一個Grails 2至3的應用程序轉換最近:

<html> 
<head> 
    <meta name='layout' content='main'/> 
    <title><g:message code="springSecurity.login.title"/></title> 
</head> 

<body> 
<div id='login' class="maincontentdiv"> 

     <g:render template="/templates/alerts"/> 

     <form action='${postUrl}' method='POST' id='loginForm' class='form-horizontal' autocomplete='off'> 

     <fieldset> 
      <legend><g:message code="springSecurity.login.header"/></legend> 

      <div class="form-group"> 
       <label class="col-md-4 control-label" for="username"> 
        <g:message code="springSecurity.login.username.label" default="Username" /> 
        <span class="required-indicator">*</span> 
       </label> 
       <div class="col-md-4"> 
        <input type='text' class='form-control' name='username' id='username'/> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label class="col-md-4 control-label" for="password"> 
        <g:message code="springSecurity.login.password.label" default="Password" /> 
        <span class="required-indicator">*</span> 
       </label> 
       <div class="col-md-4"> 
        <input type='password' class='form-control' name='password' id='password'/> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label class="col-md-4 control-label" for="submit"></label> 
       <div class="col-md-4"> 
        <input type='submit' id="submit" class='btn btn-primary' value='${message(code: "springSecurity.login.button")}'/> 
       </div> 
      </div> 
     </fieldset> 
     </form> 
</div> 
<script type='text/javascript'> 
    <!-- 
    (function() { 
     document.forms['loginForm'].elements['username'].focus(); 
    })(); 
    // --> 
</script> 
</body> 
</html> 
相關問題