我正在尝试使用ini文件通过shiro插件登录grails应用程序。我已经创建了一个ini文件,并将其放在配置文件夹中。该ini显示在下面。

[main]

[users]
admin=heslo, Administrator

[roles]
Administrator = *

[urls]

我使用createSecurityManager()方法创建了一个服务,该方法在 bootstrap 中调用:
def createSecurityManager() {
    Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
    SecurityManager securityManager = factory.getInstance();
    println securityManager
    SecurityUtils.setSecurityManager(securityManager);
    securityManager
}

当我尝试使用用户名admin和密码heslo登录时,登录失败。

最佳答案

您是否尝试了插件文档中所述的快速入门?
http://grails.org/plugin/shiro

为了使用ini文件,我想您必须创建自己的 Realm 。

当使用grails shiro插件时,我认为使用它的最简单方法是创建标准DB-Realm并在 bootstrap 中对其进行初始化-与快速入门描述它的方式相同:-)

10-08 07:07