AnsweredAssumed Answered

Passthru on CIFS

Question asked by finner on Aug 8, 2007
Latest reply on Dec 4, 2007 by kevinr
Hi,
I have the following config:

file-servers-custom.xml

   <config evaluator="string-compare" condition="Filesystem Security" replace="true">
      <authenticator type="passthru">
        <Server>my.ldap.server</Server>  <!–   LDAP server –>
      </authenticator>
   </config>



ntlm-authentication-context.xml

    <bean id="authenticationDao" class="org.alfresco.repo.security.authentication.ntlm.NullMutableAuthenticationDao" >
       <property name="nodeService">
          <ref bean="nodeService"/>
       </property>
    </bean>

    <bean id="authenticationComponentImpl" class="org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl">
        <property name="servers">
            <value>my.ldap.server</value>
        </property>
        <property name="personService">
            <ref bean="personService" />
        </property>
        <property name="nodeService">
            <ref bean="nodeService" />
        </property>
        <property name="guestAccess">
            <value>false</value>
        </property>
    </bean>


ldap-authentication-context.xml

   <bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
      <property name="LDAPInitialDirContextFactory">
         <ref bean="ldapInitialDirContextFactory"/>
      </property>
      <property name="userNameFormat">
                 <value>uid=%s,ou=Usuarios,dc=audiovisual,dc=es</value>
      </property>
   </bean>

   <bean id="ldapAuthenticationComponentImpl" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
      <property name="LDAPInitialDirContextFactory">
         <ref bean="ldapInitialDirContextFactory"/>
      </property>
      <property name="userNameFormat">
         <value>uid=%s,ou=Usuarios,dc=domain,dc=domain</value>
      </property>
   </bean>

    <bean id="ldapInitialDirContextFactory" class="org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl">
        <property name="initialDirContextEnvironment">
             <map>
                <entry key="java.naming.factory.initial">
                    <value>com.sun.jndi.ldap.LdapCtxFactory</value>
                </entry>
                <entry key="java.naming.provider.url">
                    <value>ldap://my.ldap.server:port</value>
                </entry>
                <entry key="java.naming.security.authentication">
                    <value>simple</value>     <!–  DIGEST-MD5 –>
                </entry>
             </map>
        </property>
    </bean>




When I try to map the drive I get a NullPointerException because in PassthruAuthenticator the line


NTLanManAuthContext ntlmCtx = (NTLanManAuthContext) getAuthContext( sess);

doesn't create an ntlmCtx object, it's null and so a few lines further down


type2Msg.buildType2(ntlmFlags, domain, ntlmCtx.getChallenge(), null, tList);

the NullPointer is thrown.
Any ideas what I'm missing in the config ?

Thanks

Outcomes