Site-aware ACLs
---------------

                 Key: DOCU-244
                 URL: http://jira.magnolia-cms.com/browse/DOCU-244
             Project: Documentation
          Issue Type: New Feature
      Security Level: Public
          Components: content
            Reporter: Antti Hietala
            Assignee: Ruth Stocks


MAGNOLIA-3915 introduced a new ACL parameter {{<site>}} that can be added at 
the beginning of a path or URL. The parameter applies the ACL rule when the 
current site definition matches its value.

The purpose is to prevent a multisite scenario where content from one site can 
be accessed through all its sibling sites. Such a scenario hurts SEO efforts 
since crawlers interpret the sibling content as duplicate: it is the same 
content but visible through different URLs.

For example, the {{demo-project}} site definition (screenshot) says that when 
the site is accessed via domain {{www.demo-project.com}}, content should be 
served from {{/demo-project}}, as defined in the {{handlePrefix}} property. 
However, it is also possible to access sibling site {{/demo-features}} content 
at the same domain using a URL such as 
{{www.demo-project.com/demo-features.html}}. The domain says content should be 
served from {{/demo-project}} but in fact it can come from {{/demo-features}}. 
This is the issue.

To test locally:
# In your [hosts file|http://en.wikipedia.org/wiki/Hosts_(file)], map 
{{www.demo-project.com}} to {{127.0.0.1}}.
{code}
127.0.0.1       www.demo-features.com
{code}
# [Flush the DNS 
cache|http://www.techiecorner.com/35/how-to-flush-dns-cache-in-linux-windows-mac/].
# Request content at 
{{http://www.demo-project.com:8080/magnoliaPublic/demo-features.html}}. You can 
see content from the sibling site {{/demo-features}}, which is not good. \\ \\

To deny cross-site content access using the new {{<site>}} parameter:
# Log into AdminCentral on the public instance and edit the {{anonymous}} role.
# Add an ACL in the {{URL}} space. Deny access to 
{{<demo-project>/demo-features*}}. Angle brackets should be included. The first 
part in the brackets means "apply this ACL when the site definition 
{{demo-project}} is applied". The second part means "deny access to content at 
{{/demo-features}} and below".
# Save the role.
# Log out.
# Request content at 
{{http://www.demo-project.com:8080/magnoliaPublic/demo-features.html}}. You 
should be denied access and presented a login screen instead.
# Request content at 
{{http://www.demo-features.com:8080/magnoliaPublic/demo-features.html}}. Now 
content should be served since you are requesting it via a domain that is 
mapped to a different site definition {{demo-features}}. \\ \\

Document the new parameter, its usage, purpose and the scenario in 
/administration/security/accesscontrollists.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


----------------------------------------------------------------
For list details, see: http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to