Я создал, который не является частью группы admin. Требуется получить пользовательский объект из сеанса входа в систему.Получить пользователя из сеанса пользователя jackrabbit
Использование админа создал пользователь:
org.apache.jackrabbit.api.security.user.User applicationUser =
accessController.createUser(user.getUsername(), user.getPassword());
Вход с вновь созданным пользователем:
Session session = repository.login(
new SimpleCredentials(userInstance.getUsername(),
userInstance.getPassword().toCharArray()));
Попытки получить объект пользователя:
UserManager userManager = ((JackrabbitSession)adminSession).getUserManager();
User repoUser = (User) userManager.getAuthorizable(userName);
Но userManager
является нулевым, так как сессия создана от пользователя не входит в состав admin group.
Единственный способ, которым я нахожу, - олицетворять сеанс пользователя администратору и извлекать объект пользователя.
Но есть ли другой способ получить объект User
без олицетворения?
Использование Jackrabbit 2.6.0 и JCR 2.0.
Спасибо.
userManager не должен быть пустым. Если есть проблема, тогда он должен выдать исключение. – TedTrippin
Ваш комментарий не имеет значения. Я искал любую альтернативу, а не проблему создания userManager. – techie2k
Вы ошибаетесь, это совершенно актуально. UserManager - это правильный способ получить пользователя. У вас явно есть проблема в коде, который мы не видим, так как вы не указали весь свой код. – TedTrippin