<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Complex Security Requirements in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215671#M168801</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would like to develop/configure a fairly complex security model. Documents would be added to Alfresco with a bunch of business related metadata (e.g. project, document type, partner, contract, product, etc). Access to the documents would be dependant on the value of the document properties and the users membership of one or more groups. I don't think that the standard Alfresco security model (i.e. groups/users, ACLs, etc) would accommodate this but I could be wrong. For example, access to a document may be granted to users that are members of group_a and group_b and group_c ('and' not 'or'). Can anyone suggest a possible approach to this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 31 Aug 2010 11:49:28 GMT</pubDate>
    <dc:creator>ukdavo</dc:creator>
    <dc:date>2010-08-31T11:49:28Z</dc:date>
    <item>
      <title>Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215671#M168801</link>
      <description>I would like to develop/configure a fairly complex security model. Documents would be added to Alfresco with a bunch of business related metadata (e.g. project, document type, partner, contract, product, etc). Access to the documents would be dependant on the value of the document properties and the</description>
      <pubDate>Tue, 31 Aug 2010 11:49:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215671#M168801</guid>
      <dc:creator>ukdavo</dc:creator>
      <dc:date>2010-08-31T11:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215672#M168802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You are right that normally group access will be group_a or group_b or group_c.&amp;nbsp;&amp;nbsp; However the alfresco security model is very flexible and can be configured and extended.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You are going to need to do some digging…&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Although just a thought … would it be possible to simplify the problem by creating a group (group_abc) containing the intersection of group_a, group_b and group_c.&amp;nbsp;&amp;nbsp; And then using the standard permission model on that group.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Sep 2010 19:13:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215672#M168802</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2010-09-02T19:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215673#M168803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It is an old post though.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have similar problem. If we simply creating group_abc, it can lead to composition explosion. For example, there are 1000 groups like group a, 1000 groups like group b and 1000 groups like group c. The worst case, the composition groups like group_abc would be 1000*1000*1000.&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Feb 2013 05:22:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215673#M168803</guid>
      <dc:creator>nick_l</dc:creator>
      <dc:date>2013-02-21T05:22:58Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215674#M168804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes clearly that would be a problem, my suggestion above was a possible work-around.&amp;nbsp;&amp;nbsp; However since I wrote that first reply alfresco's permission model has gained "deny" and other stuff like property driven security for R.M.&amp;nbsp;&amp;nbsp; Although not easy I do think an "And" is do-able.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Feb 2013 21:40:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215674#M168804</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2013-02-21T21:40:49Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215675#M168805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Rogers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you be more explicit about property driven security?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Feb 2013 22:47:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215675#M168805</guid>
      <dc:creator>nick_l</dc:creator>
      <dc:date>2013-02-21T22:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Security Requirements</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215676#M168806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'd suggest that you take a look at using Dynamic Authorities. There are examples in the Alfresco source such as LockOwnerDynamicAuthority.java&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As the term suggests, these dynamically determine if a user should have access.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You will need to extend AbstractLifecycleBean and implement DynamicAuthority.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When defining your Dynamic Authority override the hasAuthority() method which you can use to determine if the user satisfies the required criteria, in your case checking the custom properties e.t.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can also override the getAuthority() method which determines the access the user should have, such as consumer, editor e.t.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2013 15:22:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/complex-security-requirements/m-p/215676#M168806</guid>
      <dc:creator>mikemars</dc:creator>
      <dc:date>2013-02-26T15:22:32Z</dc:date>
    </item>
  </channel>
</rss>

