1

ユーザーを削除する前に、ログインとパスワードを確認するためのフォームがあります。これです:

<table>
        <g:form action="deleteUser">
            <tr>
                <td><label for="username">Login: </label></td>
                <td><g:textField name="username"/>
            </tr>
            <tr>
                <td><label for="password">Password: </label></td>
                <td><g:passwordField name="password"/></td>
            </tr>
            <tr>
                <td colspan="2"><g:submitButton name="delete" value="Delete"/></td>
            </tr>
        </g:form>
    </table>

sha512hash(shiroプラグインを介して登録されたユーザー)のパスワードの場合、このロジックを実行する方法。dbのハッシュコードを使用してパスワードフォームから文字列としてパスワードを確認するにはどうすればよいですか?DbRealmクラスの認証メソッドを使用できますか?はいの場合、どのように使用しますか?

PS私の英語でごめんなさい!

4

1 に答える 1

1

If I do understand your question the right way, you just want to verify the users password a last time before you delete the user.

In the database, only the hash of the password is stored. But you can just compare the hash of the new password with the hash of the stored password:

def dbhash = ShiroUser.findByUsername(params.username)?.passwordHash
if (new Sha256Hash("password").toHex()==dbhash) {
  //delete user
} else {
  //display error message
}

Hope that helps!

于 2012-07-04T16:44:10.333 に答える