@@ -0,0 +1,1872 @@
+/*%0A *  Copyright 2011 Rudolf Biczok%0A *%0A *  Licensed under the Apache License, Version 2.0 (the %22License%22);%0A *  you may not use this file except in compliance with the License.%0A *  You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *  Unless required by applicable law or agreed to in writing, software%0A *  distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *  See the License for the specific language governing permissions and%0A *  limitations under the License.%0A */%0Apackage org.pamther.jaas;%0A%0Aimport java.util.Map;%0A%0Aimport javax.security.auth.Subject;%0Aimport javax.security.auth.callback.CallbackHandler;%0Aimport javax.security.auth.login.LoginException;%0Aimport javax.security.auth.spi.LoginModule;%0A%0Aimport org.pamther.Transaction;%0A%0Apublic class PAMLoginModule implements LoginModule %7B%0A%09private static final String SERVICE_NAME_OPTION = %22serviceName%22;%0A%09private Subject subject;%0A%09private CallbackHandler callbackHandler;%0A%09private Map%3CString, ?%3E sharedState;%0A%09private Map%3CString, ?%3E options;%0A%0A%09@Override%0A%09public boolean abort() throws LoginException %7B%0A%09%09return true;%0A%09%7D%0A%0A%09@Override%0A%09public boolean commit() throws LoginException %7B%0A%09%09return true;%0A%09%7D%0A%0A%09@Override%0A%09public boolean login() throws LoginException %7B%0A%09%09final Transaction transaction = new Transaction(%0A%09%09%09%09(String) options.get(SERVICE_NAME_OPTION), null, callbackHandler);%0A%09%09transaction.authenticate();%0A%09%09return true;%0A%09%7D%0A%0A%09@Override%0A%09public boolean logout() throws LoginException %7B%0A%09%09return true;%0A%09%7D%0A%0A%09@Override%0A%09public void initialize(Subject subject, CallbackHandler callbackHandler,%0A%09%09%09Map%3CString, ?%3E sharedState, Map%3CString, ?%3E options) %7B%0A%09%09this.subject = subject;%0A%09%09this.callbackHandler = callbackHandler;%0A%09%09this.sharedState = sharedState;%0A%09%09this.options = options;%0A%09%7D%0A%0A%7D

Add JAAS module