Hi everybody,
this is the first time I see such a problem, but maybe you have already met it. Environment: a new project, using magnolia 4.4.4 and a few modules, data, blossom, opemind's media, observation. My code is in a couple of extra modules (which at some point I even try removing entirely). Symptoms: everything starts correctly, no errors nor exception, no special warning at the startup, webapp seems ok, anonymous user can see the public home page. But superuser can't login, no matter what. There is nothing in my code that alters superuser or its role, the password seems correct, but when logging in the superuser is always sent back to the login, without any error shown or exception logged. (If logging with wrong password, there is the right error in the login screen)

I started digging why a seemingly regular project could have such a problem... The superuser is logged in correctly, all roles and acls are loaded and everything seems fine, but the uriSecurity filter just stop the user. I tried (out of desperation) to disable it and superuser can see the menu and operate correctly, so it seems just a security problem. I double checked the superuser role acls, even forced the import from the original file at startup, but nothing changed. While debugging I noticed something: the URISecurityFilter class has two attributes, URI_REPOSITORY and URI_WORKSPACE. The latter is "default" and it is passed to the method MgnlContext.getAccessManager(), which is called with both parameters. But in the JCRAuthorizationModule, the setACL() registers the acls using as workspace name this instruction:
workspaceName = ContentRepository.getDefaultWorkspace(name);
Which in my project stores the uri repository as "uri_uri" and not "uri_default" as the URISecurityFilter is expecting it. I notice that just a few acls are set as "x_default", most of them are set as "x_x". All the other points in the code calls the MgnlContext.getAccessManager() method with just one parameter (repositoryId), and the workspace is always get internally with ContentRepository.getDefaultWorkspace(repositoryId), but the URISecurity seems to be the only exception in the whole Magnolia codebase.

Should I look into my code and see if something is altering the default workspaceId behaviour? Or I hit some kind of one-in-a-gazillion bug? I'm really puzzled by this... I'll let you know if I found something, but if you have any idea, it's more than welcome!

Regards, Danilo.


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

Reply via email to