代码之家  ›  专栏  ›  技术社区  ›  Tom

grails acegi:如何检查过期密码

  •  1
  • Tom  · 技术社区  · 14 年前

    这是一家分公司 this question . 因为这个问题的最初目的是别的。

    我正在寻找检查密码是否过期的最简单方法。如果密码超过n天,密码将过期,其中n是存储在另一个表中的值。

    我的用户类如下:

    Security config:
    loginUserDomainClass = "com.emp.app.user.User"
    
    /**
     * User domain class.
     */
    class User {
       static transients = ['pass','passwordExpired','credentialsNonExpired']
       static hasMany = [authorities: Role]
       static belongsTo = Role
       /** Username */
       String username
       /** User Real Name*/
       String userRealName
       /** MD5 Password */
       String passwd
       /** enabled */
       boolean enabled
    
       String email
       boolean emailShow
    
       /** description */
       String description = ''
    
       /** plain password to create a MD5 password */
       String pass = '[secret]'
    
       static constraints = {
          username(blank: false, unique: true)
          userRealName(blank: false)
          passwd(blank: false)
          enabled()
       }
    
       public boolean isCredentialsNonExpired() {
    
              //Check for the N value
             return true;
       }
    }
    

    我添加了isCredentialsNonExpired(),希望在检查凭据时在登录时调用它,但实际上不是。有办法吗?

    我对此很困惑,不确定是否需要编写自定义代码来替换某些Acegi功能或什么。

    事先谢谢。

    2 回复  |  直到 14 年前
        2
  •  1
  •   hvgotcodes    14 年前