代码之家  ›  专栏  ›  技术社区  ›  er4z0r

不能将Spring LDAP与Spring Security一起使用

  •  4
  • er4z0r  · 技术社区  · 14 年前

    以下是我的POM中的内容:

    <groupId>org.springframework.security</groupId>
    <artifactId>org.springframework.security.core</artifactId>
    <version>3.0.0.RELEASE</version>
    </dependency>
    ...
    <dependency>
        <groupId>org.springframework.ldap</groupId>
        <artifactId>spring-ldap</artifactId>
        <version>1.3.0.RELEASE</version>
        <type>pom</type>
        <scope>provided</scope>
    </dependency>
    

    以下是我的安全上下文中的相应条目:

    <ldap-authentication-provider user-dn-pattern="CN=0},OU=CAN,OU=NOT,OU=TELL,OU=YOU"/>
        ..  
    <!-- LDAP Security Configuration -->
    <ldap-server url="ldap://10.9.1.1:389/DC=TELL,DC=YOU"/>
    

    但是,当我使用以下命令运行应用程序时:

    mvn jetty:run
    

    我得到以下错误:

    If you are using LDAP with Spring Security, please ensure that you include the spring-ldap jar file in your application; nested exception is java.lang.ClassNotFoundException: org.springframework.ldap.core.support.BaseLdapPathContextSource:
    java.lang.ClassNotFoundException: org.springframework.ldap.core.support.BaseLdapPathContextSource
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
        at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:375)
        at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
        at org.springframework.security.config.ldap.ContextSourceSettingPostProcessor.postProcessBeanFactory(ContextSourceSettingPostProcessor.java:33)
    
    3 回复  |  直到 13 年前
        1
  •  8
  •   Pascal Thivent    14 年前

    类型的依赖关系 pom 不会提供任何课程。改用此依赖关系:

    <dependency>
      <groupId>org.springframework.ldap</groupId>
      <artifactId>spring-ldap-core</artifactId>
      <version>1.3.0.RELEASE</version>
    </dependency>
    

    此工件包含 o.s.l.c.s.BaseLdapPathContextSource 当前缺少的类。

        2
  •  5
  •   er4z0r    14 年前

    只是为了完整。以下是适用于我的依赖项列表:

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>org.springframework.security.core</artifactId>
            <version>3.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>org.springframework.security.config</artifactId>
            <version>3.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>org.springframework.security.web</artifactId>
            <version>3.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>org.springframework.security.taglibs</artifactId>
            <version>3.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.ldap</groupId>
            <artifactId>spring-ldap-core</artifactId>
            <version>1.3.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.ldap</groupId>
            <artifactId>spring-ldap-core-tiger</artifactId>
            <version>1.3.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-ldap</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
    
        3
  •  1
  •   Vinnie    14 年前

    <type>pom</type> jar