/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.kapti.administration.helpers;
import com.kapti.client.user.User;
import com.kapti.client.user.UserFactory;
import com.kapti.exceptions.StockPlayException;
import java.util.Collection;
import java.util.Iterator;
import javax.swing.SwingWorker;
import org.apache.log4j.Logger;
import org.jdesktop.swingx.auth.LoginService;
/**
*
* @author Thijs
*/
public class StockPlayLoginService extends LoginService {
private static Logger logger = Logger.getLogger(StockPlayLoginService.class);
public StockPlayLoginService() {
this.setSynchronous(false);
}
@Override
public boolean authenticate(String name, char[] password, String server) throws Exception {
try {
if (UserFactory.getInstance().verifyLogin(name, new String(password))) {
//we bekijken of de gebruiker genoeg rechten heeft
Collection<User> users = UserFactory.getInstance().getUsersDetailsByFilter("nickname EQUALS '" + name + "'");
Iterator<User> it = users.iterator();
if (it.hasNext()) {
User u = it.next();
if (u.getRole() == User.Role.ADMIN) {
return true;
} else {
throw new StockPlayException("User exists, but doesn't have sufficient rights");
}
}
}
return false;
} catch (Exception ex) {
logger.error("An exception occured while verifiying the login details", ex);
throw new StockPlayException("An exception occured while verifiying the login details", ex);
}
}
}