AnsweredAssumed Answered

NTLM on Linux

Question asked by atariq on Aug 6, 2007
Latest reply on Aug 15, 2007 by atariq
So, I'd recently managed to setup Alfresco 2.1 CE on a Linux box (CentOS 4.4) and got it working fairly easily with a MySQL backend. And now I'm facing difficulties on the infamous NTLM issue. :)

Our domain controller is Samba and is running on a Linux box. I had previously setup Alfresco 1.4 CE on a Windows server and had successfully managed to get NTLM with CIFS working. I retraced my steps and decided to emulate those settings on my new 2.1 Linux server: no luck. I then scoured the wiki and the forums and tried a bunch of useful information out and even though it's still not working, I've managed to get my errors consistent.

Here is what the logs look like:
INFO: Initializing Coyote HTTP/1.1 on http-8080
5-Aug-2007 10:58:58 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3954 ms
5-Aug-2007 10:58:59 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
5-Aug-2007 10:58:59 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
5-Aug-2007 10:58:59 AM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
5-Aug-2007 10:59:01 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive alfresco.war
11:00:05,279 ERROR [transform.magick.AbstractImageMagickContentTransformer] ImageMagickContentTransformer not available: Fail
ed to perform ImageMagick transformation:
Execution result:
   os:         Linux
   command:    convert /export/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformer_init_source_21821.gif  /export/alf
resco/tomcat/temp/Alfresco/ImageMagickContentTransformer_init_target_21822.png
   succeeded:  false
   exit code:  1
   out:
   err:        Cannot run program "convert": java.io.IOException: error=2, No such file or directory
11:04:32,027 ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schemaBootstrap' defined in class pat
h resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'patch.schemaUpdateScript-V1.4-1' while setting
bean property 'preUpdateScriptPatches' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationExcep
tion: Error creating bean with name 'patch.schemaUpdateScript-V1.4-1' defined in file [/export/alfresco/tomcat/webapps/alfres
co/WEB-INF/classes/alfresco/patch/patch-services-context.xml]: Cannot resolve reference to bean 'patchComponent' while settin
g bean property 'patchService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating b
ean with name 'patchComponent' defined in file [/export/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/patch/patch
-services-context.xml]: Cannot resolve reference to bean 'descriptorComponent' while setting bean property 'descriptorService
'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'descriptorComp
onent' defined in class path resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'systemBootstrap' wh
ile setting bean property 'systemBootstrap'; nested exception is org.springframework.beans.factory.BeanCreationException: Err
or creating bean with name 'systemBootstrap' defined in class path resource [alfresco/bootstrap-context.xml]: Cannot resolve
reference to bean 'importerComponent' while setting bean property 'importerService'; nested exception is org.springframework.
beans.factory.BeanCreationException: Error creating bean with name 'importerComponent' defined in class path resource [alfres
co/import-export-context.xml]: Cannot resolve reference to bean 'NodeService' while setting bean property 'nodeService'; nest
ed exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NodeService': Factory
Bean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException:  Error c
reating bean with name 'NodeService_security' defined in class path resource [alfresco/public-services-security-context.xml]:
Cannot resolve reference to bean 'accessDecisionManager' while setting bean property 'accessDecisionManager'; nested excepti
on is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'accessDecisionManager' defined
in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'aclEntryVoter' whil
e setting bean property 'decisionVoters' with key [2]; nested exception is org.springframework.beans.factory.BeanCreationExce
ption: Error creating bean with name 'aclEntryVoter' defined in class path resource [alfresco/public-services-security-contex
t.xml]: Cannot resolve reference to bean 'permissionService' while setting bean property 'permissionService'; nested exceptio
n is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'permissionService' defined in cl
ass path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'permissionServiceImpl' w
hile setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creat
ing bean with name 'permissionServiceImpl' defined in class path resource [alfresco/public-services-security-context.xml]: Ca
nnot resolve reference to bean 'authenticationComponent' while setting bean property 'authenticationComponent'; nested except
ion is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defin
ed in file [/export/alfresco/tomcat/shared/classes/alfresco/extension/ntlm-authentication-context.xml]: Error setting propert
y values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'domain' threw exception; nested exc
eption is org.alfresco.error.AlfrescoRuntimeException: Failed to find domain controller or browse master for AIRBORNE
Caused by:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'patch.schemaUpdateScript-V1.4-1' defi
ned in file [/export/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/patch/patch-services-context.xml]: Cannot reso
lve reference to bean 'patchComponent' while setting bean property 'patchService'; nested exception is org.springframework.be
ans.factory.BeanCreationException: Error creating bean with name 'patchComponent' defined in file [/export/alfresco/tomcat/we
bapps/alfresco/WEB-INF/classes/alfresco/patch/patch-services-context.xml]: Cannot resolve reference to bean 'descriptorCompon
ent' while setting bean property 'descriptorService'; nested exception is org.springframework.beans.factory.BeanCreationExcep
tion: Error creating bean with name 'descriptorComponent' defined in class path resource [alfresco/bootstrap-context.xml]: Ca
nnot resolve reference to bean 'systemBootstrap' while setting bean property 'systemBootstrap'; nested exception is org.sprin
gframework.beans.factory.BeanCreationException: Error creating bean with name 'systemBootstrap' defined in class path resourc
e [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'importerComponent' while setting bean property 'importe
rService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'import
erComponent' defined in class path resource [alfresco/import-export-context.xml]: Cannot resolve reference to bean 'NodeServi
ce' while setting bean property 'nodeService'; nested exception is org.springframework.beans.factory.BeanCreationException: E
rror creating bean with name 'NodeService': FactoryBean threw exception on object creation; nested exception is org.springfra
mework.beans.factory.BeanCreationException: Error creating bean with name 'NodeService_security' defined in class path resour
ce [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'accessDecisionManager' while setting be
an property 'accessDecisionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creat
ing bean with name 'accessDecisionManager' defined in class path resource [alfresco/public-services-security-context.xml]: Ca
nnot resolve reference to bean 'aclEntryVoter' while setting bean property 'decisionVoters' with key [2]; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'aclEntryVoter' defined in class path
resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'permissionService' while setting
bean property 'permissionService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'permissionService' defined in class path resource [alfresco/public-services-security-context.xml]: Cannot
resolve reference to bean 'permissionServiceImpl' while setting bean property 'target'; nested exception is org.springframewo
rk.beans.factory.BeanCreationException: Error creating bean with name 'permissionServiceImpl' defined in class path resource
[alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'authenticationComponent' while setting bea
n property 'authenticationComponent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error crea
ting bean with name 'authenticationComponent' defined in file [/export/alfresco/tomcat/shared/classes/alfresco/extension/ntlm
-authentication-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdat
eException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'domain' threw exception; nested exc
eption is org.alfresco.error.AlfrescoRuntimeException: Failed to find domain controller or browse master for AIRBORNE
Caused by:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'patchComponent' defined in file [/exp
ort/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/patch/patch-services-context.xml]: Cannot resolve reference to
bean 'descriptorComponent' while setting bean property 'descriptorService'; nested exception is org.springframework.beans.fac
tory.BeanCreationException: Error creating bean with name 'descriptorComponent' defined in class path resource [alfresco/boot
strap-context.xml]: Cannot resolve reference to bean 'systemBootstrap' while setting bean property 'systemBootstrap'; nested
exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'systemBootstrap' defined
in class path resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'importerComponent' while setting
bean property 'importerService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'importerComponent' defined in class path resource [alfresco/import-export-context.xml]: Cannot resolve refere
nce to bean 'NodeService' while setting bean property 'nodeService'; nested exception is org.springframework.beans.factory.Be
anCreationException: Error creating bean with name 'NodeService': FactoryBean threw exception on object creation; nested exce
ption is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NodeService_security' define
d in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'accessDecisionMan
ager' while setting bean property 'accessDecisionManager'; nested exception is org.springframework.beans.factory.BeanCreation
Exception: Error creating bean with name 'accessDecisionManager' defined in class path resource [alfresco/public-services-sec
urity-context.xml]: Cannot resolve reference to bean 'aclEntryVoter' while setting bean property 'decisionVoters' with key [2
]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'aclEntryVoter'
defined in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'permission
Service' while setting bean property 'permissionService'; nested exception is org.springframework.beans.factory.BeanCreationE
xception: Error creating bean with name 'permissionService' defined in class path resource [alfresco/public-services-security
-context.xml]: Cannot resolve reference to bean 'permissionServiceImpl' while setting bean property 'target'; nested exceptio
n is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'permissionServiceImpl' defined i
n class path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'authenticationCompon
ent' while setting bean property 'authenticationComponent'; nested exception is org.springframework.beans.factory.BeanCreatio
nException: Error creating bean with name 'authenticationComponent' defined in file [/export/alfresco/tomcat/shared/classes/a
lfresco/extension/ntlm-authentication-context.xml]: Error setting property values; nested exception is org.springframework.be
ans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'domain' threw exception; nested exc
eption is org.alfresco.error.AlfrescoRuntimeException: Failed to find domain controller or browse master for AIRBORNE
Caused by:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'descriptorComponent' defined in class
path resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'systemBootstrap' while setting bean proper
ty 'systemBootstrap'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with n
ame 'systemBootstrap' defined in class path resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'impo
rterComponent' while setting bean property 'importerService'; nested exception is org.springframework.beans.factory.BeanCreat
ionException: Error creating bean with name 'importerComponent' defined in class path resource [alfresco/import-export-contex
t.xml]: Cannot resolve reference to bean 'NodeService' while setting bean property 'nodeService'; nested exception is org.spr
ingframework.beans.factory.BeanCreationException: Error creating bean with name 'NodeService': FactoryBean threw exception on
object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'NodeService_security' defined in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve referen
ce to bean 'accessDecisionManager' while setting bean property 'accessDecisionManager'; nested exception is org.springframewo
rk.beans.factory.BeanCreationException: Error creating bean with name 'accessDecisionManager' defined in class path resource
[alfresco/public-services-security-context.xml]: Cannot resolve reference to bean 'aclEntryVoter' while setting bean property
'decisionVoters' with key [2]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating b
ean with name 'aclEntryVoter' defined in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve
reference to bean 'permissionService' while setting bean property 'permissionService'; nested exception is org.springframewor
k.beans.factory.BeanCreationException: Error creating bean with name 'permissionService' defined in class path resource [alfr
esco/public-services-security-context.xml]: Cannot resolve reference to bean 'permissionServiceImpl' while setting bean prope
rty 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'per
missionServiceImpl' defined in class path resource [alfresco/public-services-security-context.xml]: Cannot resolve reference
to bean 'authenticationComponent' while setting bean property 'authenticationComponent'; nested exception is org.springframew
ork.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defined in file [/export/alf
resco/tomcat/shared/classes/alfresco/extension/ntlm-authentication-context.xml]: Error setting property values; nested except
ion is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'domain' threw exception; nested exc
eption is org.alfresco.error.AlfrescoRuntimeException: Failed to find domain controller or browse master for AIRBORNE



(more of the same here)



5-Aug-2007 11:04:32 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
5-Aug-2007 11:04:32 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/alfresco] startup failed due to previous errors
5-Aug-2007 11:04:37 AM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
5-Aug-2007 11:04:37 AM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
5-Aug-2007 11:04:38 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 339590 ms


and these are the changes I made to the relevant files:

web.xml:-
<filter>
      <filter-name>Authentication Filter</filter-name>
      <!–<filter-class>org.alfresco.web.app.servlet.AuthenticationFilter</filter-class> –>

      <!– For Novell IChain support use the following filter –>
      <!–
        <filter-class>org.alfresco.web.app.servlet.NovellIChainsHTTPRequestAuthenticationFilter</filter-class>
      –>

      <!– For NTLM authentication support use the following filter –>
      <filter-class>org.alfresco.web.app.servlet.NTLMAuthenticationFilter</filter-class>

   </filter>

   <filter>
      <filter-name>WebDAV Authentication Filter</filter-name>
      <filter-class>org.alfresco.repo.webdav.auth.AuthenticationFilter</filter-class> –>

      <!– For NTLM authentication support use the following filter –>

      <filter-class>org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter</filter-class>

   </filter>

   <filter>
      <filter-name>Admin Authentication Filter</filter-name>
      <filter-class>org.alfresco.web.app.servlet.AdminAuthenticationFilter</filter-class>
   </filter>

   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/faces/*</url-pattern>
   </filter-mapping>

<!– For NTLM authentication support enable the following mapping –>

   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/navigate/*</url-pattern>
   </filter-mapping>

   <!–<filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/command/*</url-pattern>
   </filter-mapping>

   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/template/*</url-pattern>
   </filter-mapping> –>

I renamed ntlm-authentication-context.xml.sample to ntlm-authentication-context.xml and these are the changes:
<bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl">
        <!–  <property name="useLocalSever">
            <value>true</value>
        </property> –>
        <property name="domain">
              <value>AIRBORNE</value>
        </property>
        <property name="personService">
              <ref bean="personService" />
        </property>
        <property name="nodeService">
              <ref bean="nodeService" />
        </property>
        <property name="transactionService">
              <ref bean="transactionComponent" />
        </property>
        <property name="guestAccess">
              <value>false</value>
        </property>
    </bean>

renamed file-servers-custom.xml.sample to file-servers-custom.xml and appended this block to the end (before <alfresco-config> ) :
<config-evaluator="string-compare" condition="Filesystem Security">
          <authenticator type="alfresco">
          <Server>IP ADDRESS</Server>
          <Domain>AIRBORNE</Domain>
          </authenticator>
   </config>

I had also changed the authenticator type to "passthru" and got the same errors.

I'm kind of stuck now and am running out of ideas. Maybe the good users of this form will yet again be able to help me out of the mud. :)

Thanks in advance!

Outcomes