gpt4 book ai didi

grails - 在Grails应用中使用Shiro进行身份验证时遇到问题

转载 作者:行者123 更新时间:2023-12-02 15:39:54 25 4
gpt4 key购买 nike

我有一个grails 1.2应用程序,并且我想使用声明式安全性来限制基于角色的访问。我决定尝试使用shiro,安装了插件,但是当我尝试进行身份验证时,消息“无效的用户名和/或密码”显示在标题中。我检查了数据库条目,并且用户使用了sha'ed密码。控制台和stacktrace文件中均未显示任何消息。我在Config.groovy中添加了“警告'org.jsecurity'”,但没有结果。任何提示/技巧来解决这个问题?

最佳答案

我也遇到了这个问题...您如何为用户保存密码?运行快速入门后,我遵循了Shiro插件页面上的示例,并将以下代码添加到了我的bootstrap init方法中:

import org.apache.shiro.crypto.hash.Sha512Hash

def user = new ShiroUser(username: "user123", passwordHash: new Sha512Hash("password").toHex())
user.save()

我将尝试登录,并继续使登录失败。所以我尝试了
def user = new ShiroUser(username:'admin', passwordHash:new Sha256Hash("admin").toHex())
user.save()

从Sha512Hash更改为Sha256Hash之后,我可以登录了!

更新:运行“快速启动”后,使用默认的Shiro插件设置创建了一个新应用。如果要创建用户,则将要立即使用Sha256Hash。但是,可以通过将bean添加到Spring的resources.groovy文件中来使用Sha512Hash或Sha1Hash。

Sha512Hash的示例:
beans = {
bean {
credentialMatcher(Sha512CredentialsMatcher) {
storedCredentialsHexEncoded = true
}
}
}

关于grails - 在Grails应用中使用Shiro进行身份验证时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com