Commit Graph

35 Commits

Author SHA1 Message Date
Dave Ward
879796355c Merged V3.2 to HEAD
16062: ETHREEOH-2792: Support login via external SSO systems (such as CAS) in Alfresco Share
      - In Alfresco, new "external" authentication subsystem maps user identity from HttpServletRequest.getRemoteUser() or configured header
      - In Share, the UserFactory also recognizes HttpServletRequest.getRemoteUser() - no special filters required
      - User ID propagated to Alfresco through X-Alfresco-Remote-User HTTP header
      - This can be done securely via the use of an SSL client certificate that identifies the Share application to Alfresco as a special 'proxy' user
      - New <keystore> section added to webscript-framework-config that allows specification of the keystore holding the client certificate and trusted CAs
      - Support for SSL authentication and propagation of Cookies through redirects added to RemoteClient so that initial redirects through sign on pages are supported
      - TODO: Wiki


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-03 11:16:02 +00:00
Dave Ward
e184c83df5 Merged V3.2 to HEAD
15940: Merged V3.1 to V3.2 (record only)
      15939: Merged V3.2 to V3.1
         15936: ETHREEOH-2498: Fixed problems with auto-creation of users in CIFS Authenticators (including Kerberos)
   15936: ETHREEOH-2498: Fixed problems with auto-creation of users in CIFS Authenticators (including Kerberos)
      - Converted to using RetryingTransactionHelper and avoid problems with nested transactionService
      - Will trigger LDAP sync if enabled
      - Also switched on disableNTLM in kerberos-authentication-context.xml to force Kerberos CIFS authentication in Kerberos subsystem


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15941 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-26 19:15:18 +00:00
Mark Rogers
abafb8f4e5 Added a policy to fire the metadata extractor on ASPECT_IMAP_CONTENT
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15739 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-13 17:21:20 +00:00
Dave Ward
1d1516f4cf Merged V3.2 to HEAD
15737: ETHREEOH-2535: Home folders for LDAP imported users appear in wrong place
      - Changed the default for ldap.synchronization.defaultHomeFolderProvider to be userHomesHomeFolderProvider


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15738 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-13 15:54:22 +00:00
Dave Ward
0d6a176f8d Merged V3.2 to HEAD
15388: ETHREEOH-1872: Better debug logging in authentication components
      - Now each authentication component logs every step of the authentication process (including reason for failure) if you switch on debug logging for that component or the entire org.alfresco.repo.security.authentication package. E.g.
      log4j.logger.org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl=debug
      log4j.logger.org.alfresco.repo.security.authentication.AuthenticationComponentImpl=debug
      log4j.logger.org.alfresco.repo.security.authentication=debug
   15196: Further LDAP sync performance improvements
      - Bunch user and group creations into small transactions (except for differential sync on login)
      - Run a differential sync on startup (so that bulk of users are not brought over on first login)
      - Can be disabled by synchronization.syncOnStartup property
   15135: Node creation / ACL performance improvements
      - When an ACL was set on a leaf node such as a person, redundant 'shared' ACLs were created for child nodes with getInheritedAccessControlList(), even though no child nodes existed.
      - Now setInheritanceForChildren() makes a 'lazy' call to getInheritedAccessControlList(), only when it realises there are child nodes
   15133: Changes to datasource definition for improved performance
      - Enable caching and reuse of prepared statements (by default 40 for each connection)
      - Removed custom-connection-pool-context.xml.sample and instead introduced complete property set into repository.properties
      - Updated v3.2 Wiki docs http://wiki.alfresco.com/wiki/Database_Configuration#Overriding_the_Database_Connection_Properties


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15439 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-07-28 10:12:16 +00:00
Dave Ward
edb2c94241 Merged V3.2 to HEAD
15219: ETHREEOH-2328: Alfresco authentication component could use wrong ACEGI AuthenticationManager if not at the start of the authentication chain
      - Moved authentication manager so that it is local to the alfrescoNtlm authentication subsystem


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15225 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-07-16 11:08:39 +00:00
Derek Hulley
2902b0e6d8 IMAP configuration changes including support for IMAP home definition
- Added generic RepositoryFolderConfigBean for referencing folders in repo
 - Redefined default and properties used by IMAP


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15064 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-07-02 14:55:22 +00:00
Derek Hulley
5500f162b4 Merge IMAP in
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14947 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-26 08:48:25 +00:00
Dave Ward
3421f84fdc Correct Active Directory Defaults to use simple authentication + UPNs (user@domain format) because these are more likely to work with AD out of the box (well they work with ours!)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14937 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-25 19:10:42 +00:00
Dave Ward
ae065dbb7c Update Active Directory Defaults to use UPNs for authentication - these can be derived from the user ID and mean that you can log in and sync using simple authentication and no chaining.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14936 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-25 19:04:01 +00:00
Dave Ward
5443afbdd0 ETHREEOH-2242: New ldap-ad Authentication subsystem with defaults for Active Directory
- Fixed parsing of timestamps
- Fixed resolution of group members
- Shared Spring configuration with ldap subsystem
- Authentication still only supported with DIGEST-MD5 binding enabled - chain with passthru authentication otherwise

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-25 18:16:26 +00:00
Dave Ward
68f87e6c05 Two new editable properties supported by Synchronization Subsystem
- synchronization.syncWhenMissingPeopleLogIn
- synchronization.autoCreatePeopleOnLogin
When both are false you can now cause users who your LDAP sync doesn't bring in to be rejected (seems to be a requirement)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14814 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-19 16:52:17 +00:00
Dave Ward
9f69064bd6 Reliable formatting of ${ooo.user} variable in Open Office Startup
- Open office seems to be temperamental about starting if its env:UserInstallation argument doesn't begin "file:///" on Windows or "file://" on Unix. The argument may not contain any backslashes either. Unfortunately, this doesn't correspond to Java's File to URI conversion
- Created OpenOfficeURI class for doing the formatting instead instead

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14771 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-17 14:02:45 +00:00
Mark Rogers
09db139d72 Deployment Updates.
1) correction of typo in extension classpath
2) Addition of FileSystemDeploymentTargetTest.
3) Rework to DeploymentState
4) Addition of deployment-filesystem.rootdir property

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14713 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-15 09:27:44 +00:00
Derek Hulley
cb7c4e6593 Reverse-merged /alfresco/BRANCHES/DEV/IMAP3:r14500,14521,14560,14563,14632
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14657 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-11 14:00:22 +00:00
Derek Hulley
1a0c0dc758 Merged DEV/IMAP3 to HEAD
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14654 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-11 11:14:55 +00:00
Dave Ward
a4b283068c MOB-710: LDAP queries now performed with RFC 2696 paging and a configurable page size, defaulting to 1000 (the AD default maximum)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14648 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-11 09:04:24 +00:00
Mark Rogers
7181b65ecb Addition of wdr-deployment project into the tests.
Config changes to get the repository based wcm deployment engine up and running with "AVM" and "Filesystem" targets.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14610 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-09 17:30:22 +00:00
Dave Ward
d5e0432589 Merged BRANCHES/DEV/DAVEW/LDAP to HEAD
14587: Added new node service method getNodesWithoutParentAssocsOfType to public-services-security-context.xml (or at least my best guess at it!)
   14586: Use US spelling of synchronization in filenames for consistency
   14585: Lower the default user registry sync frequency to daily instead of hourly. Now users and groups are pulled over incrementally on login of missing users.
   14583: Unit test for ChainingUserRegistrySynchronizer
   14571: Migration patch for existing authorities previously held in users store
      - Uses AuthorityService to recreate authorities in spaces store with new structure
   14555: Authority service changes for LDAP sync improvements
      - Moved sys:authorities container to spaces store
      - All authorities now stored directly under sys:authorities
      - Authorities can now be looked up directly by node service
      - Secondary child associations used to model group relationships
      - 'Root' groups for UI navigation determined dynamically by node service query
      - cm:member association used to relate both authority containers and persons to other authorities
      - New cm:inZone association relates persons and authority containers to synchronization 'zones' stored under sys:zones
      - Look up of authority zone and all authorities in a zone to enable multi-zone LDAP sync
   14524: Dev branch for finishing LDAP zones and upgrade impact

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14588 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-08 16:16:32 +00:00
Mark Rogers
eeb22722a8 Merge WCM_WDR_MER TO HEAD
MOB-399 Implementation of Deploymemnt Engine
     MOB-669
     MOB-630
     Revisions 14181 - 14539 merged,,

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14543 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-04 20:57:18 +00:00
Dave Ward
4980a463ee Fix NullPointerException in IMAP server. Missing imapHelper property in imap-server-context.xml
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14453 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-27 14:40:06 +00:00
Dave Ward
4634d889c8 MOB-820: IMAP as configurable subsystem + MOB-817: NFS RPC user mappings + MOB-816: File server domain and global ACL mappings
- JLAN changes: revert previous changes and make AccessControl constructors public

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14353 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-18 15:42:47 +00:00
Dave Ward
b58bd8a5ea MOB-864: Propagation of installation / dev environment settings to subsystems plus subsystem framework extensions for composite properties
- Set of overridable properties now centralized to new global-properties bean and referenced by repository-properties, hibernateConfigProperties and subsystems
- Installer defaults can now be specified in classpath:alfresco-global.properties
- A special BeanFactoryPostProcessor ensures backward compatibility with existing alfresco/extension/*-context.xml files overriding repository-properties or hibernateConfigProperties.
- Subsystems pick up initial property values from global-properties. Placeholders expanded.
- Messages now output when subsystems stopped and started
- Object names lists to allow better hierarchical organisation
- Composite properties now supported by child application contexts
   - Materialized in context.xml as ListFactoryBeans - lists of beans
   - Configured values injected before application context started
   - Configurable via alfresco-global.properties or JMX

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14351 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-18 15:34:46 +00:00
Kevin Roast
7d4d488c4a Turn off IPv6 as the default for the FTP Server.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14129 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-30 09:03:52 +00:00
Dave Ward
e41bdeffea Fix handling of org.alfresco.filesys.config.CIFSConfigBean.getBindToAddress(). An empty string value should be treated equivalent to null.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14068 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-23 13:26:24 +00:00
Gary Spencer
aafb1fd269 Fixed default cifs.bindto property to use the value '0.0.0.0', in the new file-servers.properties file.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14066 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-23 13:12:50 +00:00
Dave Ward
9c91679af7 Fix error in ldap-synchronisation-context.xml and improve error logging from MBean operations
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14058 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-22 18:30:35 +00:00
Dave Ward
a68ce953a0 Synchronize default file server configuration (file-servers-context.xml) with changes made to file-servers.xml in revision 13943
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14033 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-21 15:50:55 +00:00
Dave Ward
d2180c5eaa Refactor subsystems for authentication chaining
- An authentication chain of size 1 configured by default
- DefaultChildApplicationContextManager supports dynamic configuration of the authentication chain via Spring or JMX. Any number of instances of any type allowed in chain.
- SubsystemChainingAuthenticationComponent and SubsystemChainingAuthenticationService iterate across configured chain for Authentication
- SSO (NTLM / Kerberos) and CIFS authentication independently activatable for any component in chain (where supported).
- SubsystemChainingProxyFactory used to proxy directly to first active CIFS authenticator or SSO filter in the chain
- CIFS server knows not to bother starting if authentication chain doesn't have an active CIFS authenticator (e.g. LDAP only)
- Rationalization of subsystem configuration folder structure and JMX object naming
- Classpath based extension mechanism for community edition - alfresco/extension/subsystems/<category>/<typeName>/<id>/*.properties in classpath can be used to configure specific subsystem instances
- Simplification of JMX infrastructure. No longer Spring bean definition based, thus allowing dynamic creation/registration of new instances at runtime.
- New AuthenticationChainTest unit test

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-21 13:29:08 +00:00
Dave Ward
caf8143451 Fix for backward compatibility with repository.properties for third party tool locations
- reinstated ooo.exe, swf.exe, etc. in repository.properties
- Subsystem defaults now reference these (overridable) system defaults


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13889 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-07 14:31:37 +00:00
Dave Ward
a166add97f 3rd Party Service admin (OpenOffice, SWFTools, ImageMagick)
- All supporting classes moved out to thirdparty subsystem
- Open Office service automatically started if available
- All utility locations editable via JMX (and subsystem can be reinitialized with new values without rebooting tomcat)
- New ContentTransformerWorker interface introduced in order to allow separation between ContentTransformer registry and third party utilities
- Existing JMX query capabilities preserved


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13860 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 16:31:33 +00:00
Dave Ward
7ed214059f Merged missing changes to file-servers.xml and file-servers.properties from 13521 in V3.1
Synchronized new file-servers-context.xml with these changes
Debugged NFS and Desktop Action Initialization via Spring

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13831 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-03 17:31:00 +00:00
Dave Ward
1f78e6b28c Align Alfresco, CIFS and FTP authentication stacks for NTLM passthru, kerberos and LDAP
- PassthruServerFactory created to allows PassthruServers singleton to be shared by CIFS, FTP and Alfresco passthru authenticators
- Also added NTLM + Alfresco (non-passthru) example. Doesn't seem to work yet!
- ExtendedServerConfigurationAccessor interface added BaseSSOAuthenticationFilter to get at local server name info from file server configuration
- toString() added to CIFSAuthenticator so that we can still properly log the authenticator type
- Fixed WebDAVServlet to go through ServerConfigurationAccessor interface to avoid ClassCastException

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13823 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-03 11:29:18 +00:00
Dave Ward
972dd9a4ba MOB-651: Decouple File Servers from Config Service and Authenticators
- Minor JLAN changes (backward compatible)
   - CIFSAuthenticator implements an interface (to allow dynamic proxying to authentication subsystem)
   - CIFSAuthenticator accesses ServerConfiguration via ServerConfigurationAccessor interface and doesn't retain references to config sections (again to allow dynamic proxying and hot swapping)
   - ConfigSections have way of directly setting container initialised authenticators, sharemappers, etc.
   - Authenticators, etc. still support initialisation from config service in backward compatible manner.
- Most of ServerConfigurationBean moved to AbstractServerConfigurationBean superclass.
- New org.alfresco.filesys.config package with ServerConfigurationBean implementation and supporting classes that can be initialised by a Spring container.
- File server authenticators moved into authentication subsystem. TODO: Kerberos and NTLM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13795 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-01 13:22:06 +00:00
Dave Ward
115b40d462 Merged DAVEW_V3.2 to HEAD
13659: Fix NTLMAuthenticationFilter to call super.afterPropertiesSet()
   13658: MOB-424: Utility to Dump JMX Data
      - new enterprise distributable jmx-dumper.jar
      - command line invocation via "java -jar jmx-dumper.jar"
      - admin web access via http://localhost:8080/alfresco/faces/jsp/admin/jmx-dumper.jsp
   13575: Preconfigured authentication stacks for alfresco, LDAP, Kerberos and NTLM. TODO: file server config.
   13493: Initial work to enable selection, configuration, testing and hot-swapping of different authentication subsystems via JMX or admin UI.
   13309: Changes to allow datasource and property configuration via JNDI
      - Move AVM catalina .jars into 3rd-party/lib/virtual-tomcat so that they don't get automatically included in the .war file and hence stop JNDI lookups from working
      - Allow JNDI lookup of datasource – use standard app server mechanisms for managing it but still fall back to 'normal' one
      - Allow properties to be overridden by JNDI env-entries as well as system properties. Including hibernate dialect ones. Web.xml can then declare required env-entries and these can be defined on deployment.
      - Rewire iBatis so that no config file edits are necessary when dialect is changed
      - Use proxy around datasource so that auto-commit is always activated for iBatis


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13668 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-18 12:49:12 +00:00