Sen J2C kimlik doğrulama veri girişi kimlik bilgileri elde aşağıdaki kodu kullanabilirsiniz:
import com.ibm.wsspi.security.auth.callback.Constants;
import com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory;
import javax.resource.spi.security.PasswordCredential;
import javax.security.auth.Subject;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.login.LoginContext;
Map map = new HashMap();
map.put(Constants.MAPPING_ALIAS, "YOUR_J2C_DATA_ALIAS");
CallbackHandler callbackHandler = WSMappingCallbackHandlerFactory.getInstance().getCallbackHandler(map, null);
LoginContext loginContext = new LoginContext("DefaultPrincipalMapping", callbackHandler);
loginContext.login();
Subject subject = loginContext.getSubject();
Set credentials = subject.getPrivateCredentials();
PasswordCredential passwordCredential = (PasswordCredential) credentials.iterator().next();
String user = passwordCredential.getUserName();
String password = new String(passwordCredential.getPassword());
Bu bir cazibe gibi çalıştı! – Jay
Websphere'e özel sınıflara ("Constants" ve "WSMappingCallbackHandlerFactory") başvurmadan bunu yapmanın bir yolu olup olmadığını merak ediyorum. – FGreg
@FGreg Bunun mümkün olduğunu düşünmüyorum. Bu, WAS'a özgü bir şeydir, bu yüzden bazı belirli sınıfları kullanmayı düşünmelisiniz. BTW, bunlar genel WAS API'sinin bir parçasıdır. Bunu kullanırken herhangi bir sorun var mı? – fnt