0

ログイン セキュリティのためにプロジェクトに spring-security-core プラグインをインストールしました。インストール後、account_locked= true の場合はアカウントがロックされているというメッセージが表示され、enabled=false の場合はアカウントが有効になっていないことが示されます。しかし、すべてが正しい場合、「申し訳ありませんが、そのユーザー名とパスワードを持つユーザーが見つかりませんでした」と表示されます。私はこのユーザー名とパスワードを持っていますが。誰でもこれについて私を助けてもらえますか?

これが私の作成アクションです>>>

def createUser = {
    def user = new User()
    user.properties = params
    println(user.username)
    def password = user.password
    def salt = user.username //depends on what you're using as a salt
    user.password = springSecurityService.encodePassword(password, salt)
    user.save()
}
4

1 に答える 1

1

ユーザー オブジェクトを挿入するには、次のようにパスワード フィールドを暗号化する必要があります。

def springSecurityService

def someAction() {
   def user = ...
   def password = ...
   def salt = user.username //depends on what you're using as a salt
   user.password = springSecurityService.encodePassword(password, salt)
   user.save()      
}

プラグインのドキュメントを参照してください: http://grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/12%20Password%20and%20Account%20Protection.html

ソルトは、事前に計算されたレインボー テーブル攻撃を打ち負かすために使用されます。この攻撃は、ハッシュ化されたパスワード データベースのクラック効率を大幅に向上させるために使用される可能性があります。http://en.wikipedia.org/wiki/Salt_(暗号化)を参照してください。

于 2013-05-12T12:11:17.630 に答える