首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache Oak的用户管理

使用Apache Oak的用户管理
EN

Stack Overflow用户
提问于 2015-02-04 08:32:27
回答 1查看 569关注 0票数 1

我正忙着建立一个橡木仓库。当我使用默认管理用户时,一切都正常,但是当我尝试使用UserManager设置新帐户时,我会得到一个登录失败异常,或者使用备用存储库设置,我可以创建用户,但是当我使用该用户登录时,session.getUserID返回null。

方法1,产生loginException:

代码语言:javascript
复制
Map<String, Object> userParams = getSecurityProviderUserParams();
ConfigurationParameters config =  ConfigurationParameters.of(ImmutableMap.of(UserConfiguration.NAME, ConfigurationParameters.of(userParams)));        
SecurityProvider sp = new SecurityProviderImpl(config);
uc = new UserConfigurationImpl(sp);
ConfigurationParameters cp = uc.getParameters();

QueryEngineSettings qes = new QueryEngineSettings();
QueryIndexProvider qip = new ReferenceIndexProvider();
contentRepository = new ContentRepositoryImpl(ns, new CommitRateLimiter(), "csmp", qes, qip, sp);
contentSession = contentRepository.login(new SimpleCredentials("admin", "admin".toCharArray()), null);
Root localRoot = contentSession.getLatestRoot();
um = uc.getUserManager(localRoot, NamePathMapper.DEFAULT);
um.createUser("boswelrp", "testpass");
repo = new Jcr(new Oak(ns)).createRepository();

要登录,我使用:

代码语言:javascript
复制
oakRepo.login(username, password);

应用程序已经安全,所以我真正想要完成的就是使用用户帐户登录,以便能够自动填充createdBy/modifiedBy字段。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-04 09:25:57

幸运的是,我在橡树邮件列表中找到了答案。

代码语言:javascript
复制
session = repo.login(new SimpleCredentials("admin", "admin".toCharArray()));

if(session instanceof JackrabbitSession)
{
     UserManager um = ((JackrabbitSession) session).getUserManager();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28316796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档