Доступ 1.5.7 — Конфигурация SASL

#ldap #sasl #apacheds

#ldap #sasl #доступные версии

Вопрос:

В настоящее время я пытаюсь настроить экземпляр ApacheDS для тестирования механизмов SASL.

Кому-нибудь удалось заставить SASL в ApacheDS работать?

Я ищу рабочую инструкцию по настройке для ApacheDS 1.5.7 и подтверждение того, что это работает на практике…

Ответ №1:

в 1.5.7 есть поддержка SASL, но я бы посоветовал вам попробовать последнюю версию 2.0 M2. (1.5.7 очень старая, и мы можем не поддержать вас в случае возникновения некоторых проблем)

Ответ №2:

Ну, я создал тестовое приложение Spring для проверки подлинности пользователей.. Я не уверен, что это то, чего вы хотите, но я все равно опубликую решение. (этот пост немного запоздал .. но)

Как я уже сказал, я использовал spring, spring security и ApacheDS.

spring-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 я создал простую структуру пользователей и группы пользователей (администратор / user).

Вот и все! Если вы чего-то не понимаете в коде, просто дайте мне знать, и я постараюсь помочь..