package businessLogic;
-
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
import java.util.Vector;
+import common.LoginInterface;
+
import dataAccess.DB4oManager;
import domain.Account;
-public class LoginManager implements LoginManagerInterface {
+public class LoginManager extends UnicastRemoteObject implements LoginInterface {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
DB4oManager dbMngr;
- public LoginManager() {
-
+ public LoginManager() throws RemoteException {
+ super();
try {
dbMngr = DB4oManager.getInstance();
} catch (Exception e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public Account checkCredentials(String usr, String pwd) {
+ Account ac = new Account(SecurityManager.getInstance().calculateHash(
+ usr));
try {
- Vector<Account> account = dbMngr.getAccount(usr, pwd);
+ Vector<Account> account = dbMngr.getAccount(ac);
if (account.isEmpty())
return null;
- else
+ if (SecurityManager.getInstance().isExpectedPassword(
+ pwd.toCharArray(), account.get(0).getSalt(),
+ account.get(0).getPassword())) {
+
return account.get(0);
+ }
+ return null;
} catch (Exception e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
-
-
-
}