古い EJB 1.1/webwork/jboss アプリに Active Directory 認証を実装しています。このコードを AD の API メソッドに置き換えたところ、ログインするとすぐにアプリケーションがタイムアウトになりました。ここに以下のコードがあります。
紀元前:
AuthenticationManager securityMgr = (AuthenticationManager) securityCtx.lookup("securityMgr");
SimplePrincipal principal = new SimplePrincipal(_username);
char[] passwordChars = null;
if (_password != null)
passwordChars = _password.toCharArray();
securityMgr.isValid(principal, passwordChars);
広告の後:
UserInfo userInfo = com.authenticate.SingleSignOn.userAuthentication ("https://urllink/webservice.asmx/userAuthentication", _username, _password, "appname", "DEV", isNotExternal);
ログインするとすぐに、以下のコードを持つページにリダイレクトされます
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/app/login.begin.action">
これにより、次の Java コードに移動します
if (!getRequest().getSession().isNew()) {
getRequest().getSession().invalidate();
}
return SUCCESS: ( In webwork it will take to waht ever page you put for success in properties file here it is login page)
問題は、AD を使用してログインするとすぐに、ログイン ページにリダイレクトされることです。ここで何かが足りないかどうか知りたかったので、正しい方向に向けてください。