Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Shiro通过LDAP对用户进行身份验证_Java_Grails_Groovy_Ldap_Shiro - Fatal编程技术网

Java 使用Shiro通过LDAP对用户进行身份验证

Java 使用Shiro通过LDAP对用户进行身份验证,java,grails,groovy,ldap,shiro,Java,Grails,Groovy,Ldap,Shiro,java/groovy/grails/shiro/完全是新手,随便你怎么说,请耐心听我说。我已经用尽了教程和所有可用的“Shiro LDAP”搜索,仍然无法使我的项目正常工作 我使用jdk1.7.0_80、Grails 2.3.0和Shiro 1.2.1在GGTS上运行所有这些 我有一个正在工作的项目,并成功运行了quick start shiro,它构建了ShiroRole和ShiroUser域、controller authController、view login.gsp和relam Sh

java/groovy/grails/shiro/完全是新手,随便你怎么说,请耐心听我说。我已经用尽了教程和所有可用的“Shiro LDAP”搜索,仍然无法使我的项目正常工作

我使用jdk1.7.0_80、Grails 2.3.0和Shiro 1.2.1在GGTS上运行所有这些

我有一个正在工作的项目,并成功运行了quick start shiro,它构建了ShiroRole和ShiroUser域、controller authController、view login.gsp和relam ShiroDbRealm。我在BootStrap中用

def user = new ShiroUser(username: "user123", passwordHash: new Sha256Hash("password").toHex())
user.addToPermissions("*:*")
user.save()
并且可以成功地登录到我的主页,无论出于何种目的,这是我所能做到的。我找不到一个自上而下的教程,介绍如何使用我的用户名和密码登录(通过我可用的LDAP服务器进行身份验证)。据我所知,我需要创建一个shiro.ini文件,并包含以下内容:

[main]
ldapRealm = org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm
ldapRealm.url = ldap://MYURLHERE/
Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("actived.ini");

// Setting up the SecurityManager...
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
ldap.server.url = ["ldap://MYRULHERE/"]
ldap.search.base = 'dc=COMPANYNAME,dc=com'
ldap.search.user = ''       // if empty or null --> anonymous user lookup
ldap.search.pass = 'password'                // only used with     non-anonymous lookup
ldap.username.attribute = 'AccountName'
ldap.referral = "follow"
ldap.skip.credentialsCheck = false
ldap.allowEmptyPasswords = false
ldap.skip.authentication = false
但是我甚至不知道把这个shiro.ini文件放在哪里。我已经看到了/src/main/resources,但是没有这样的目录。我是手动创建还是脚本创建

下一步似乎是创建SecurityManager,它以某种方式读取shiro.ini,代码如下:

[main]
ldapRealm = org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm
ldapRealm.url = ldap://MYURLHERE/
Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("actived.ini");

// Setting up the SecurityManager...
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
ldap.server.url = ["ldap://MYRULHERE/"]
ldap.search.base = 'dc=COMPANYNAME,dc=com'
ldap.search.user = ''       // if empty or null --> anonymous user lookup
ldap.search.pass = 'password'                // only used with     non-anonymous lookup
ldap.username.attribute = 'AccountName'
ldap.referral = "follow"
ldap.skip.credentialsCheck = false
ldap.allowEmptyPasswords = false
ldap.skip.authentication = false
以及配置中的相应信息

[main]
ldapRealm = org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm
ldapRealm.url = ldap://MYURLHERE/
Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("actived.ini");

// Setting up the SecurityManager...
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
ldap.server.url = ["ldap://MYRULHERE/"]
ldap.search.base = 'dc=COMPANYNAME,dc=com'
ldap.search.user = ''       // if empty or null --> anonymous user lookup
ldap.search.pass = 'password'                // only used with     non-anonymous lookup
ldap.username.attribute = 'AccountName'
ldap.referral = "follow"
ldap.skip.credentialsCheck = false
ldap.allowEmptyPasswords = false
ldap.skip.authentication = false

但是把所有这些东西放在一起,我什么都没有得到!我至少在正确的轨道上吗?任何帮助都将不胜感激

对于
/src/main/resources
,如果您在项目中使用maven,它将自动为您创建。此外,您还可以手动创建该目录。

对于
/src/main/resources
,如果您在项目中使用maven,它将自动为您创建。此外,您还可以手动创建该目录