2011-05-17 40 views
0

我目前尝试设置一个ApacheDS实例来测试SASL机制。ApacheDS 1.5.7 - SASL配置

任何在那里设法让ApacheDS中的SASL工作?

我找了ApacheDS的1.5.7工作设置指令和这工作在实践中予以确认

回答

0

1.5.7具有支持SASL,但我建议你尝试的最新版本版本2.0 M2。 (1.5.7已经很老了,我们可能不支持你的一些问题的情况下)

0

嗯,我为了做用户的认证做了一个试验春天应用程序..我不知道这是你想要的,但无论如何我会发布解决方案。 (这篇文章有点晚了......但是)

就像我说过的,我用spring,spring security和apacheDS。

弹簧的security.xml

<!-- This is where we configure Spring-Security --> 
    <security:http auto-config="true" use-expressions="true" access-denied-page="/app/denied" > 

     <security:intercept-url pattern="/app/login" access="permitAll"/> 
     <security:intercept-url pattern="/app/admin" access="hasRole('ROLE_ADMIN')"/> 
     <security:intercept-url pattern="/app/common" access="hasRole('ROLE_USER')"/> 

     <security:form-login 
       login-page="/app/login" 
       authentication-failure-url="/app/login?error=true" 
       default-target-url="/app/common"/> 

     <security:logout 
       invalidate-session="true" 
       logout-success-url="/app/login" 
       logout-url="/app/logout"/> 

    </security:http> 

    <security:authentication-manager> 
      <security:ldap-authentication-provider 
        user-search-filter="(uid={0})" 
        user-search-base="ou=users" 
        group-search-filter="(uniqueMember={0})" 
        group-search-base="ou=groups" 
        group-role-attribute="cn" 
        role-prefix="ROLE_"> 
      </security:ldap-authentication-provider> 
    </security:authentication-manager> 

    <security:ldap-server url="ldap://localhost:10389/o=test" manager-dn="uid=admin,ou=system" manager-password="secret" /> 

</beans> 

而这正是wep.xml

<web-app version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <display-name>Getting Started with Spring</display-name> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
     /WEB-INF/spring-security.xml 
     /WEB-INF/applicationContext.xml 
     <!-- /WEB-INF/spring-ldap.xml--> 
     </param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>Spring MVC Servlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring-mvc-context.xml</param-value> 
     </init-param> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Spring MVC Servlet</servlet-name> 
     <url-pattern>/app/*</url-pattern> 
    </servlet-mapping> 

    <filter> 
      <filter-name>springSecurityFilterChain</filter-name> 
      <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <filter-mapping> 
      <filter-name>springSecurityFilterChain</filter-name> 
      <url-pattern>/*</url-pattern> 
    </filter-mapping> 

</web-app> 

并将其在Apache DS我由用户的简单的结构和组用户(管理员/用户)的。

就是这样!如果您不明白代码中的某些内容,请让我知道,我会尽力帮助您。