Java Reference
In-Depth Information
the method
authenticate()
to verify usernames and passwords. New profiles
can be created by means of the
createUser()
method.
package
UbiMail;
import
java.sql.*;
public class
Manager {
private
Connection connection;
private
Statement stmt;
private
String lastError
#
null
;
// create a mail manager using a connection to a database
public
Manager(Connection p_connection) {
try
{
connection
#
p_connection;
stmt
#
connection.createStatement();
}
catch
(Exception e){ lastError
#
e.getMessage(); }
}
// authenticate a pair (username,password),
// on success return the corresponding User object
public
User authenticate(String username, String password){
User user
#
null
;
try
{
String query
#
"SELECT * FROM ubimailuser"
!
"WHERE username
#
'"
!
username
!
"' AND pass
#
'"
!
password
!
"'";
ResultSet rs
#
stmt.executeQuery(query);
if
(rs.next())
user
#
new User(rs);
rs.close();
}
catch
(Exception e){ lastError
#
e.getMessage(); }
return
user;
}
// creates a new user in the database if the username is
// not yet in use
public
User createUser(String name){
User user
#
null
;
try
{
String query
#
"SELECT * FROM ubimailuser"
!
"WHERE username
#
'"
!
name
!
"'");
ResultSet rs
#
stmt.executeQuery(query) ;
if
(rs.next()){
lastError
#
"User '"
!
name
!
"' already present";
}
else
{
user
#
new
User(name);
user.create(stmt);
}
}
catch
(Exception e){ lastError
#
e.getMessage(); }
return
user;
}