cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco 4.0b Rechtevergabe zum Erstellen von Sites

fisfrankfurt
Champ in-the-making
Champ in-the-making
Hallo Forum,

wir sind noch in der Testphase und haben verschiedene OS getestet.

Alfresco 4.0a auf Debian 2.6.32-5-amd64 mit allen Optionen
Alfresco 4.0b auf Ubuntu 10.04 LTS 64 bit mit allen Optionen

Alfresco 3.6 auf WinXP (nur zu Testzwecken) mit allen Optionen

Für alle Installationen gilt:

- tomcat läuft
- postgresql läuft
- Alfresco ist über alfresco explorer und share erreichbar.

An einer Stelle des Tests komme ich nicht weiter:

In der Windows-Installation musste ich einem User im Arbeitsbereich "Sites" mindestens die Rechte eines Beitragenden geben damit er im alfresco share eine neue Site anlegen kann.
Darauf lässt sich ein Gruppenkonzept aufbauen, das Sinn macht. Da Ressourcen endlich sind, sollten sie mit Hilfe der Kontingente und der Rollen gesteuert werden.

Bisher ist mir in keiner Linux-Installation diese Rechte-Einschränkung gelungen. Ein User kann mit mindestens "Konsumenten"-Rechten im Arbeitsbereich "Sites" so viele Sites anlegen, wie er will. Man kann ihn dann nur noch mit dem Kontingent bremsen, was bei uns nur bei in der Windows- und  der Debian 2.6.32-5-amd64- Installation unterstützt wird.

Da ich für den Betrieb von Alfresco einen Linux-basierten Webserver vorziehe, bin ich an einer Lösung interessiert.

Habe ich irgendwelche zusätzlichen Einstellungen übersehen?
11 REPLIES 11

fisfrankfurt
Champ in-the-making
Champ in-the-making
Danke!!,

Das waren exakt die richtigen Hinweise.

Mit besten Grüßen

poerschkeg
Champ in-the-making
Champ in-the-making
ich habe gerade versucht, das Recht Sites zu erstellen einzuschränken.
so sieht meine /opt/alfresco-4.2.a/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/public-services-security-context.xml aus

<bean id="SiteService_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor">
        <property name="authenticationManager"><ref bean="authenticationManager"/></property>
        <property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
        <property name="afterInvocationManager"><ref local="afterInvocationManager"/></property>
        <property name="objectDefinitionSource">
            <value>
               org.alfresco.service.cmr.site.SiteService.cleanSitePermissions=ACL_NODE.0.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.createContainer=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
              org.alfresco.service.cmr.site.SiteService.createSite=ACL_METHOD.ROLE_ADMINISTRATOR
               #org.alfresco.service.cmr.site.SiteService.createSite=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.deleteSite=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.findSites=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.getContainer=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.getMembersRole=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.getSite=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.getSiteGroup=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.getSiteRoleGroup=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.getSiteRoles=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.getSiteRoot=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.hasContainer=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.hasCreateSitePermissions=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.isMember=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.listMembers=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.listMembersInfo=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.listSites=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
               org.alfresco.service.cmr.site.SiteService.removeMembership=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.setMembership=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.updateSite=ACL_ALLOW
               org.alfresco.service.cmr.site.SiteService.*=ACL_DENY
            </value>
        </property>
    </bean>

Ergebnis: ein neuer Benutzer kann keine Site erstellen. Das ist gut.
Nur: ein Bestehender Benutzer, der bereits eine Site erstellt hat, kann eine weitere Site erstellen. Dieser Benutzer ist demnach ROLE_ADMINISTRATOR zuzuordnen.
Frage 1: Wäre es möglich, soetwas wie ACL_METHOD.ROLE_SITECREATOR zu erstellen? Das entspräche einer Gruppe "SiteCreator" und wer in Mitglied dieser Gruppe ist, kann Sites erstellen.

Frage 2: Was bedeutet: org.alfresco.service.cmr.site.SiteService.hasCreateSitePermissions=ACL_ALLOW

Ist das redundant?
Vielen Dank.