Confluence ERROR when access the User Directories
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
The administrator are not able to access the user directories.
The following appears in the atlassian-confluence.log
2015-10-13 10:53:46,002 ERROR [http-bio-8090-exec-10] [atlassian.confluence.servlet.ConfluenceServletDispatcher] sendError Could not execute action
-- referer: http://example.com:8090/login.action?os_destination=%2Findex.action&permissionViolation=true | url: /index.action | userName: usera
com.atlassian.crowd.exception.runtime.OperationFailedException: Failed to determine if user usera is a nested member of group confluence-administrators in directory 5242882
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric$DirectoryPredicate.apply(ApplicationServiceGeneric.java:1502)
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric$DirectoryPredicate.apply(ApplicationServiceGeneric.java:1483)
at com.google.common.collect.Iterators.any(Iterators.java:685)
at com.google.common.collect.Iterables.any(Iterables.java:620)
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.isUserNestedGroupMember(ApplicationServiceGeneric.java:2179)
...
Caused by: com.atlassian.crowd.exception.DirectoryInstantiationException: com.atlassian.cache.CacheException: java.lang.NullPointerException: The validated
object is null
診断
Run the query below to check the directory attribute. Replace the <ID> in the query below the id shown in the logs. In this case, the ID is 5242882
.
SELECT * FROM cwd_directory_attribute where directory_id=<directory_id>;
原因
If the query below does not return you any result. This means that the directory are corrupted.
回避策
You will need to delete the corrupted directory after that recreate the directory if it is an LDAP directory . Please note, this will remove all the your local user membership.
- Please follow this documentation to remove the corrupted directory ,How do I remove a user directory from Confluence via the database.
- Recreate LDAP directory. Please refer to the Connecting to an LDAP Directory for more detailed information.