Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Spring Security + Kerberos


Автор: Vokunya 6.7.2011, 17:26
spring-security.xml
Код

<sec:http entry-point-ref="spnegoEntryPoint">
        <sec:intercept-url pattern="/secure/**" access="IS_AUTHENTICATED_FULLY" />
        <sec:custom-filter ref="spnegoAuthenticationProcessingFilter" position="BASIC_AUTH_FILTER" />
    </sec:http>

    <bean id="spnegoEntryPoint"
        class="org.springframework.security.extensions.kerberos.web.SpnegoEntryPoint" />

    <bean id="spnegoAuthenticationProcessingFilter"
        class="org.springframework.security.extensions.kerberos.web.SpnegoAuthenticationProcessingFilter">
        <property name="authenticationManager" ref="authenticationManager" />
    </bean>

    <sec:ldap-server id="ldapServer"
                              url="ldap://path_to_ldap:389"
                              manager-dn="manager" manager-password="password" />

    <sec:ldap-user-service id="ldapUserService" server-ref="ldapServer"
                                    user-search-filter="(userPrincipalName={0})" user-search-base="CN=Users,DC=example,DC=com"
                            group-search-base="CN=Groups,DC=example,DC=com"/>

    <sec:authentication-manager alias="authenticationManager">
        <sec:authentication-provider ref="kerberosServiceAuthenticationProvider" /> 
    </sec:authentication-manager>
    
    <bean id="kerberosServiceAuthenticationProvider"
        class="org.springframework.security.extensions.kerberos.KerberosServiceAuthenticationProvider">
        <property name="ticketValidator">
            <bean
                class="org.springframework.security.extensions.kerberos.SunJaasKerberosTicketValidator">
                <property name="servicePrincipal" value="HTTP/name-i7.EXAMPLE.com" />
                <property name="keyTabLocation" value="file:c:\\name-i7.keytab" />
                <property name="debug" value="true" />
            </bean>
        </property>
        <property name="userDetailsService" ref="ldapUserService" />
    </bean>


Ситуация: если клиентский браузер - IE, то все отрабатывает без проблем. При попытке обратиться к защищенному ресурсу появляется стандартное окошко логина, логинишься и все ОК. Если же клиентский браузер - Firefox, то это самое окошко логина не появляется.
В логи никаких других ошибок, кроме Access Denied не падает. 
Т.е в случае IE мы получаем access denied, редирект на authentication point, окошко логин/пароль - и все хорошо в итоге.
В случае же Firefox - access denied, редирект на authentication point, но нет окна логин/пароль с вытекающими отсюда последствиями.
Firefox настраивал по этому http://www.helpdesk.umd.edu/topics/applications/kerberos/4782/

Есть идеи как заставить Firefox работать
Клиент: OS - Win7 x64, Firefox - 5.0

PS: может кто сталкивался с настройкой chrome для керберос? (по крайней мере у меня он отсылает ntlm token вместо kerberos) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)