use of com.keybox.manage.model.User in project KeyBox by skavanagh.
the class AuthDB method getUserByUID.
/**
* returns user base on username
*
* @param con DB connection
* @param uid username id
* @return user object
*/
public static User getUserByUID(Connection con, String uid) {
User user = null;
try {
PreparedStatement stmt = con.prepareStatement("select * from users where lower(username) like lower(?)");
stmt.setString(1, uid);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
user = new User();
user.setId(rs.getLong("id"));
user.setFirstNm(rs.getString("first_nm"));
user.setLastNm(rs.getString("last_nm"));
user.setEmail(rs.getString("email"));
user.setUsername(rs.getString("username"));
user.setUserType(rs.getString("user_type"));
user.setProfileList(UserProfileDB.getProfilesByUser(con, user.getId()));
}
DBUtils.closeRs(rs);
DBUtils.closeStmt(stmt);
} catch (Exception e) {
log.error(e.toString(), e);
}
return user;
}
use of com.keybox.manage.model.User in project KeyBox by skavanagh.
the class ExternalAuthUtil method login.
/**
* external auth login method
*
* @param auth contains username and password
* @return auth token if success
*/
public static String login(final Auth auth) {
String authToken = null;
if (externalAuthEnabled && auth != null && StringUtils.isNotEmpty(auth.getUsername()) && StringUtils.isNotEmpty(auth.getPassword())) {
CallbackHandler handler = new CallbackHandler() {
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback callback : callbacks) {
if (callback instanceof NameCallback) {
((NameCallback) callback).setName(auth.getUsername());
} else if (callback instanceof PasswordCallback) {
((PasswordCallback) callback).setPassword(auth.getPassword().toCharArray());
}
}
}
};
Connection con = null;
try {
LoginContext loginContext = new LoginContext(JAAS_MODULE, handler);
//will throw exception if login fail
loginContext.login();
Subject subject = loginContext.getSubject();
con = DBUtils.getConn();
User user = AuthDB.getUserByUID(con, auth.getUsername());
if (user == null) {
user = new User();
user.setUserType(User.ADMINISTRATOR);
user.setUsername(auth.getUsername());
//if it looks like name is returned default it
for (Principal p : subject.getPrincipals()) {
if (p.getName().contains(" ")) {
String[] name = p.getName().split(" ");
if (name.length > 1) {
user.setFirstNm(name[0]);
user.setLastNm(name[name.length - 1]);
}
}
}
//set email
if (auth.getUsername().contains("@")) {
user.setEmail(auth.getUsername());
}
user.setId(UserDB.insertUser(con, user));
}
authToken = UUID.randomUUID().toString();
user.setAuthToken(authToken);
user.setAuthType(Auth.AUTH_EXTERNAL);
//set auth token
AuthDB.updateLogin(con, user);
} catch (LoginException e) {
//auth failed return empty
authToken = null;
} catch (Exception e) {
log.error(e.toString(), e);
} finally {
DBUtils.closeConn(con);
}
}
return authToken;
}
use of com.keybox.manage.model.User in project KeyBox by skavanagh.
the class UserDB method getUser.
/**
* returns user base on id
* @param con DB connection
* @param userId user id
* @return user object
*/
public static User getUser(Connection con, Long userId) {
User user = null;
try {
PreparedStatement stmt = con.prepareStatement("select * from users where id=?");
stmt.setLong(1, userId);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
user = new User();
user.setId(rs.getLong("id"));
user.setFirstNm(rs.getString(FIRST_NM));
user.setLastNm(rs.getString(LAST_NM));
user.setEmail(rs.getString(EMAIL));
user.setUsername(rs.getString(USERNAME));
user.setPassword(rs.getString(PASSWORD));
user.setAuthType(rs.getString(AUTH_TYPE));
user.setUserType(rs.getString(USER_TYPE));
user.setSalt(rs.getString("salt"));
user.setProfileList(UserProfileDB.getProfilesByUser(con, userId));
}
DBUtils.closeRs(rs);
DBUtils.closeStmt(stmt);
} catch (Exception e) {
log.error(e.toString(), e);
}
return user;
}
use of com.keybox.manage.model.User in project KeyBox by skavanagh.
the class UserDB method getUser.
/**
* returns user base on id
* @param userId user id
* @return user object
*/
public static User getUser(Long userId) {
User user = null;
Connection con = null;
try {
con = DBUtils.getConn();
user = getUser(con, userId);
} catch (Exception e) {
log.error(e.toString(), e);
} finally {
DBUtils.closeConn(con);
}
return user;
}
Aggregations