2016-08-04 2 views
1

Я использовал информацию в этой связи https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_dev_prog_login_auth_data.html Согласно моей информации, которую я получил из этой темы обсуждения. https://developer.ibm.com/answers/questions/261209/websphere-liberty-profile-and-j2c-authdata-retriev-1.htmlNo LoginModules сконфигурирован для DefaultPrincipalMapping WAS Libert y profile 8.5.5.9

Программный логин DefaultPrincipalMapping доступен и должен работать. Я настроил все, что было обновлено до профиля Liberty v 8.5.5.9, но мой код генерирует исключение в [err] javax.security.auth.login.LoginException: No LoginModules не настроен для DefaultPrincipalMapping [err] в javax.security.auth.login.LoginContext. INIT (LoginContext.java:264) [ERR] в javax.security.auth.login.LoginContext. (LoginContext.java:417) Вот мой фрагмент кода ..

 Context context = new InitialContext(); 
    String user = (String) context.lookup("cell/persistent/ADBindUser"); 
    String password = (String) context.lookup("cell/persistent/ADBindPwd"); 

    Map<String, String> map = new HashMap<String, String>(); 
    map.put(Constants.MAPPING_ALIAS, "WPSBIND"); 

// CallbackHandler CallbackHandler = // WSMappingCallbackHandlerFactory.getInstance(). GetCallbackHandler (map, null);

 CallbackHandler callbackHandler =new WSMappingCallbackHandler(map, null); 

    LoginContext loginContext = 
     new LoginContext("DefaultPrincipalMapping", callbackHandler); 
    try{ 
     loginContext.login(); 
    }catch(LoginException le) { 

    } 

Может ли кто-нибудь рассказать мне, что мне не хватает здесь.

+0

Можете вы добавить свой 'server.xml'? Вы добавили функцию 'passwordUtilities-1.0'? – Gas

ответ

-1

Вместо "DefaultPrincipalMapping" конфигурация входа "system.DEFAULT" выполнила эту работу для меня. Окончательный намек был скрыт в documentation:

system.DEFAULT

Используется для входа в систему, если не указано конфигурации JAAS.

...

Конфигурации system.WEB_INBOUND и system.DEFAULT эти модули входа по умолчанию в следующем порядке: Hashtable, userNameAndPassword, сертификат и токенов. Конфигурация WSLogin имеет proxy login module в качестве модуля входа по умолчанию, а прокси-сервер делегирует все операции на реальный модуль входа в систему.DEFAULT.

WSLogin не работает Unrecognized Callback в случае использования приложения, например. org.jboss.security.auth.callback.UsernamePasswordHandler в качестве обратного вызова. Если приложение не может быть изменено, system.DEFAULT предоставляет альтернативу.

Смежные вопросы