0
오크 저장소를 설정하는 중입니다. 기본 admin 사용자를 사용할 때 모든 것이 잘 작동하지만 UserManager를 사용하여 새 계정을 설정하려고하면 로그인 실패 예외가 발생하거나 대체 저장소 설정을 사용하여 사용자를 만들 수 있지만 로그인 할 때 해당 사용자를 사용하여 session.getUserID
은 null을 반환합니다.Apache Oak를 사용한 사용자 관리
방법 1, 수율의 LoginException이 :
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();
그리고 로그인 할 사용 : 응용 프로그램이 이미 확보
oakRepo.login(username, password);
, 그래서 정말 달성하고자하는 모든이에 로그인하는 것입니다 createBy/modifiedBy 필드를 자동으로 채울 수 있습니다.
이 질문은 [너무 광범위] (http://stackoverflow.com/help/on-topic)입니다. – jurgemaister
감사합니다. 제 의도는 약간 명확합니다. – raymondboswel