package businessLogic;
-import gui.StartWindow;
-
import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
import java.util.Vector;
+import common.LoginInterface;
+
import dataAccess.DB4oManager;
import domain.Account;
-import domain.Owner;
-public class LoginManager implements LoginManagerInterface {
- //owners to be separated to accounts later on
+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 Owner checkCredentials(String usr, String pwd) {
+ public Account checkCredentials(String usr, String pwd) {
+ Account ac = new Account(SecurityManager.getInstance().calculateHash(
+ usr));
try {
- Vector<Account> account = dbMngr.getAccount(usr, pwd);
- if(account.isEmpty()) return null;
- else return account.get(0).getOwner();
-
+ Vector<Account> account = dbMngr.getAccount(ac);
+ if (account.isEmpty())
+ return null;
+ 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;
}
-
-
-
}