03-12-2012 04:59 PM
03-13-2012 04:15 AM
<bean name="defaultOnCreatePermissionsManager"
class="org.alfresco.repo.security.person.PermissionsManagerImpl">
<property name="permissionService">
<ref bean="permissionServiceImpl" />
</property>
<property name="ownableService">
<ref bean="ownableService" />
</property>
<property name="inheritPermissions">
<value>false</value>
</property>
<property name="ownerPermissions">
<set>
<value>All</value>
</set>
</property>
<property name="userPermissions">
<set>
<value>All</value>
</set>
</property>
</bean>
Try changing this bean (found in authentication-services-context.xml, but do not change directly in this file, create your own myname-context.xml file in extension) and change All to Coordinator.03-13-2012 06:17 AM
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="defaultOnCreatePermissionsManager"
class="org.alfresco.repo.security.person.PermissionsManagerImpl">
<property name="permissionService">
<ref bean="permissionServiceImpl" />
</property>
<property name="ownableService">
<ref bean="ownableService" />
</property>
<property name="inheritPermissions">
<value>false</value>
</property>
<property name="ownerPermissions">
<set>
<value>Coordinator</value>
</set>
</property>
<property name="userPermissions">
<set>
<value>Coordinator</value>
</set>
</property>
</bean>
</beans>
But, after restart the Alfresco, nothing changed. Is any other thing, what I forgot?
03-13-2012 06:38 AM
03-13-2012 08:03 AM
# CIFS
cifs.enabled=true
cifs.serverName=alfresco
cifs.domain=XXXX
cifs.hostannounce=true
cifs.urlfile.prefix=http://127.0.0.1/alfresco/
authentication.chain=ldap1:ldap-ad,alfrescoNtlm1:alfrescoNtlm
The ldap-ad-authentication.properties has the content as:
# This flag enables use of this LDAP subsystem for authentication. It may be
# that this subsytem should only be used for synchronization, in which case
# this flag should be set to false.
ldap.authentication.active=true
#
# This properties file brings together the common options for LDAP authentication rather than editing the bean definitions
#
ldap.authentication.allowGuestLogin=false
# How to map the user id entered by the user to taht passed through to LDAP
# In Active Directory, this can either be the user principal name (UPN) or DN.
# UPNs are in the form <sAMAccountName>@domain and are held in the userPrincipalName attribute of a user
ldap.authentication.userNameFormat=%s@XXXX.XXX
# The LDAP context factory to use
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
# The URL to connect to the LDAP server
ldap.authentication.java.naming.provider.url=ldap://XXXX
# The authentication mechanism to use
ldap.authentication.java.naming.security.authentication=simple
# Escape commas entered by the user at bind time
# Useful when using simple authentication and the CN is part of the DN and contains commas
ldap.authentication.escapeCommasInBind=false
# Escape commas entered by the user when setting the authenticated user
# Useful when using simple authentication and the CN is part of the DN and contains commas, and the escaped \, is
# pulled in as part of an LDAP sync
# If this option is set to true it will break the default home folder provider as space names can not contain \
ldap.authentication.escapeCommasInUid=false
# Comma separated list of user names who should be considered administrators by default (Administrator)
ldap.authentication.defaultAdministratorUserNames=
# This flag enables use of this LDAP subsystem for user and group
# synchronization. It may be that this subsytem should only be used for
# authentication, in which case this flag should be set to false.
ldap.synchronization.active=true
# The default principal to bind with (only used for LDAP sync). This should be a UPN or DN
ldap.synchronization.java.naming.security.principal=alfresco
# The password for the default principal (only used for LDAP sync)
ldap.synchronization.java.naming.security.credentials=eN.a3eib
# If positive, this property indicates that RFC 2696 paged results should be
# used to split query results into batches of the specified size. This
# overcomes any size limits imposed by the LDAP server.
ldap.synchronization.queryBatchSize=1000
# If positive, this property indicates that range retrieval should be used to fetch
# multi-valued attributes (such as member) in batches of the specified size.
# Overcomes any size limits imposed by Active Directory.
ldap.synchronization.attributeBatchSize=1000
# The query to select all objects that represent the groups to import.
ldap.synchronization.groupQuery=(objectclass\=group)
# The query to select objects that represent the groups to import that have changed since a certain time.
ldap.synchronization.groupDifferentialQuery=(&(objectclass\=group)(\!(modifyTimestamp<\={0})))
# The query to select all objects that represent the users to import.
ldap.synchronization.personQuery=(&(objectclass\=user)(userAccountControl\:1.2.840.113556.1.4.803\:\=512))
# The query to select objects that represent the users to import that have changed since a certain time.
ldap.synchronization.personDifferentialQuery=(&(objectclass\=user)(userAccountControl\:1.2.840.113556.1.4.803\:\=512)(\!(modifyTimestamp<\={0})))
# The group search base restricts the LDAP group query to a sub section of tree on the LDAP server. "ou\=Security Groups,ou\=Alfresco,dc=domain"
ldap.synchronization.groupSearchBase=ou\=Gruppen,ou\=Abteilungen,ou\=XXXX,dc\=XXXX,dc\=XXX
# The user search base restricts the LDAP user query to a sub section of tree on the LDAP server. "ou\=User Accounts,ou=\Alfresco,dc=domain"
ldap.synchronization.userSearchBase=ou\=XXXX,dc\=XXXX,dc\=XXX
# The name of the operational attribute recording the last update time for a group or user.
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
# The timestamp format. Unfortunately, this varies between directory servers.
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'.0Z'
# The attribute name on people objects found in LDAP to use as the uid in Alfresco
ldap.synchronization.userIdAttributeName=sAMAccountName
# The attribute on person objects in LDAP to map to the first name property in Alfresco
ldap.synchronization.userFirstNameAttributeName=givenName
# The attribute on person objects in LDAP to map to the last name property in Alfresco
ldap.synchronization.userLastNameAttributeName=sn
# The attribute on person objects in LDAP to map to the email property in Alfresco
ldap.synchronization.userEmailAttributeName=mail
# The attribute on person objects in LDAP to map to the organizational id property in Alfresco
ldap.synchronization.userOrganizationalIdAttributeName=company
# The default home folder provider to use for people created via LDAP import
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
# The attribute on LDAP group objects to map to the gid property in Alfrecso
ldap.synchronization.groupIdAttributeName=cn
# The group type in LDAP
ldap.synchronization.groupType=group
# The person type in LDAP
ldap.synchronization.personType=user
# The attribute in LDAP on group objects that defines the DN for its members
ldap.synchronization.groupMemberAttributeName=member
# If true progress estimation is enabled. When enabled, the user query has to be run twice in order to count entries.
ldap.synchronization.enableProgressEstimation=true
I have created the test-folder in the LDAP-User home directory by Alfresco
public class Testing
{
public static void main(String args[])
{
System.out.println(Testing.class.getName() + " started");
SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();
parameter.put(SessionParameter.USER, "myusername");
parameter.put(SessionParameter.PASSWORD, "passwd");
parameter.put(SessionParameter.BINDING_TYPE,
BindingType.ATOMPUB.value());
parameter.put(SessionParameter.ATOMPUB_URL,
"http://127.0.0.1:8080/alfresco/service/cmis");
// get repositories & create session
try
{
List<Repository> repositories = sessionFactory.getRepositories(parameter);
Repository repository = repositories.get(0);
Session session = repository.createSession();
session.getDefaultContext().setCacheEnabled(false);
System.out.println("Got a connection to repository: " + repository.getName() + ", with id: "
+ repository.getId());
Folder homeFolder = (Folder)session.getObject("workspace://SpacesStore/a358c3e6-1881-4f45-b74f-b7b92f498f9c");
System.out.println("homeFolder: " + homeFolder.getName());
ItemIterable<CmisObject> children = homeFolder.getChildren();
System.out.println("Found the following objects in the root folder:- size: " + children.getTotalNumItems());
}
catch (CmisRuntimeException ex)
{
ex.printStackTrace();
}
System.out.println(Testing.class.getName() + " ended");
}
}
I use session.getObject(LDAP-userhome-ObjID) get the home folder, but the size of children is zero. 03-13-2012 08:04 AM
03-13-2012 09:37 AM
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean name="defaultOnCreatePermissionsManager"
class="org.alfresco.repo.security.person.PermissionsManagerImpl">
<property name="permissionService">
<ref bean="permissionServiceImpl" />
</property>
<property name="ownableService">
<ref bean="ownableService" />
</property>
<property name="inheritPermissions">
<value>true</value>
</property>
<property name="ownerPermissions">
<set>
<value>Coordinator</value>
</set>
</property>
<property name="userPermissions">
<set>
<value>Coordinator</value>
</set>
</property>
</bean>
</beans>
Thank you for the helf by setting the rights. 03-13-2012 10:24 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.