[MGNLSTK-1062] Freemarker exceptions in link.ftl when user doesn't have permissions Created: 03/Jan/13  Updated: 22/Jan/13  Resolved: 22/Jan/13

Status: Closed
Project: Magnolia Standard Templating Kit (closed)
Component/s: None
Affects Version/s: 2.0.7
Fix Version/s: 2.0.9

Type: Bug Priority: Neutral
Reporter: Roman Kovařík Assignee: Roman Kovařík
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to MAGNOLIA-4729 ACLs only for sub pages does not work... Closed
Template:
Acceptance criteria:
Empty
Date of First Response:

 Description   

Steps to reproduce:
1] Use Magnolia 4.5.8 with changes by MAGNOLIA-4729.
2] Set this for website workspace according to the documentation DOCU-365:

<Workspace name="website">
    ...
    <WorkspaceSecurity>
      	<AccessControlProvider class="info.magnolia.cms.core.MagnoliaAccessProvider">
	      <param name="permissionsClass" value="info.magnolia.cms.core.NodeTypeBasedPermissions"/>
      	      <param name="nodeTypes" value="mgnl:page"/>
	</AccessControlProvider>
    </WorkspaceSecurity>
</Workspace>

3] set acl for demo-project-editor:

  • Read/Write for this and subpages - path /
  • Deny access for subpages - path /demo-project

4] Sign as eric
5] go to http://localhost:8080/magnoliaAuthor/demo-project page
6] Freemarker exception:

Caused by: info.magnolia.rendering.engine.RenderException: freemarker.core.InvalidReferenceException: Error on line 14, column 5 in templating-kit/components/pur/link.ftl
cmsfn.link('website', content.profilePage) is undefined.
It cannot be assigned to profileLink
	at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:88)
	at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:139)
	at info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:75)
	... 168 more
Caused by: freemarker.core.InvalidReferenceException: Error on line 14, column 5 in templating-kit/components/pur/link.ftl
cmsfn.link('website', content.profilePage) is undefined.
It cannot be assigned to profileLink
	at freemarker.core.Assignment.accept(Assignment.java:111)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.MixedContent.accept(MixedContent.java:92)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.Environment.process(Environment.java:199)
	at freemarker.template.Template.process(Template.java:237)
	at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:155)
	at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:85)
	... 170 more


 Comments   
Comment by Jan Haderka [ 14/Jan/13 ]

Where is the fix? I don't see anything linked to this issue.

Comment by Roman Kovařík [ 14/Jan/13 ]

commits
master:
https://git.magnolia-cms.com/gitweb/?p=modules/standard-templating-kit.git;a=commitdiff;h=591819818dcbd6f83c20f77f9f515f13e90bd54e
2.0.x:
https://git.magnolia-cms.com/gitweb/?p=modules/standard-templating-kit.git;a=commitdiff;h=597d6cc6149eac5ca437f594881bae80135ae15b

Comment by Jan Haderka [ 21/Jan/13 ]

With the fix that was applied, url will be "?mgnlLogout" when user doesn't have access to the logout page. Is that correct? Does the logout still work? Will user stay on protected page after being logged out or will user get redirected to the login page? Shouldn't link be disabled completely in such case?

Comment by Roman Kovařík [ 22/Jan/13 ]

Issue description was updated - steps to reproduce.
Extra default values for logoutPage were added accidentally -> removed.

Generated at Mon Feb 12 07:33:01 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.