На WebSphere развернуто приложение. Идентифицирующая среда - AD. Мне нужно вытащить в приложении из AD параметры пользователя principalName.
Воспользовался кодом с сайта IBM:
LocalServiceProvider service = null;
DataObject root = null;
try {
service = new LocalServiceProvider();
root = SDOHelper.createRootDataObject();
} catch (WIMException e) {
e.printStackTrace();
}
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_PERSON_ACCOUNT);
entity.createDataObject(DO_IDENTIFIER).set(PROP_UNIQUE_NAME, s);
DataObject ancesCtrl = SDOHelper.createControlDataObject(root, null, DO_ANCESTOR_CONTROL);
ancesCtrl.setInt(PROP_LEVEL, 0);
ancesCtrl.getList(PROP_PROPERTIES).add("uid");
ancesCtrl.getList(PROP_PROPERTIES).add("cn");
ancesCtrl.getList(PROP_PROPERTIES).add("o");
ancesCtrl.getList(PROP_PROPERTIES).add("ou");
try {
root = service.search(root);
} catch (WIMException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
и другие примеры такого плана. Падают ошибки типа пользователь не авторизован или не найден. Какие есть еще варианты найти principalname и другие параметры?
В таком исполнении:
Set credSet = WSSubject.getCallerSubject().getPublicCredentials();
String principal = WSSubject.getCallerPrincipal();
Subject subject = ContextManagerFactory.getInstance().getCallerSubject();
WSCredential wsCred = SubjectHelper.getWSCredentialFromSubject(subject);
тоже не находит. principal не равен principalName
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно показывать прогресс загрузки в элементе RecyclerViewЕстественно, как только я выйду в другую Activity или закрою эту, прогресс показываться...