Subversion Repositories WebE

Compare Revisions

Last modification

Ignore whitespace Rev 19 → Rev 20

/trunk/src/ch/ffhs/webE/action/UserForm.java
0,0 → 1,73
package ch.ffhs.webE.action;
 
import javax.servlet.http.HttpServletRequest;
 
import org.apache.struts2.components.ActionError;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class UserForm extends ActionSupport {
 
private static final long serialVersionUID = 2574972467250197244L;
 
private String username;
private String password;
private String firstname;
private String lastname;
private boolean admin;
 
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.username = null;
this.password = null;
this.firstname = null;
this.lastname = null;
this.admin = false;
}
public void validate() {
}
 
// Getter and setters
public String getUsername() {
return username;
}
 
public void setUsername(String username) {
this.username = username;
}
 
public String getPassword() {
return password;
}
 
public void setPassword(String password) {
this.password = password;
}
 
public String getFirstname() {
return firstname;
}
 
public void setFirstname(String firstname) {
this.firstname = firstname;
}
 
public String getLastname() {
return lastname;
}
 
public void setLastname(String lastname) {
this.lastname = lastname;
}
 
public boolean isAdmin() {
return admin;
}
 
public void setAdmin(boolean admin) {
this.admin = admin;
}
}
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: LoginAction.java
===================================================================
--- LoginAction.java (revision 19)
+++ LoginAction.java (revision 20)
@@ -1,10 +1,13 @@
package ch.ffhs.webE.action;
+import java.util.Map;
+
import ch.ffhs.webE.dao.UserDAO;
import ch.ffhs.webE.dao.UserDAOImpl;
import ch.ffhs.webE.domain.User;
+import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
@@ -14,28 +17,60 @@
private User user = new User();
private UserDAO userDAO = new UserDAOImpl();
-
+ //Form fields
private String userName ;
private String pw;
+
+ //Session Object
+ Map<String, Object> session = ActionContext.getContext().getSession();
+
public LoginAction() {
}
- public String verifyUser() {
+ public String doLogin() {
//If password or user name are empty, the login fails.
if("".equals(getUserName()) || "".equals(getPw()) || getUserName() == null || getPw() == null) {
return "failed";
- }
+ }
- User u = userDAO.searchUsername(getUserName());
+ String verifiedUser = verifyUser(getUserName(), getPw());
+ if(verifiedUser.equals("failed")) {
+ return "failed";
+ } else {
+
+ //Put user name, password into session
+ session.put("username", getUserName());
+ session.put("pw", getPw());
+ return verifiedUser;
+ }
+ }
+
+ public String doLogout() {
+ //TODO: Kill session content for logout
+ return SUCCESS;
+ }
+
+ /**
+ * Verify user credentials
+ * @param String username: User name
+ * @param String password: Password (hashed)
+ * @return
+ */
+ public String verifyUser(String username, String password) {
+ //DB Query
+ User u = userDAO.searchUsername(username);
+ //User does not exist
if(u == null)
return "failed";
- if(!u.getPassword().equals(getPw()))
+ //User password does not match
+ if(!u.getPassword().equals(password))
return "failed";
+ //User credentials are fine, check for admin rights
if(u.isAdmin()) {
return "admin";
} else {
/trunk/src/ch/ffhs/webE/action/UserAction.java
0,0 → 1,58
package ch.ffhs.webE.action;
 
import java.util.ArrayList;
import java.util.List;
 
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import ch.ffhs.webE.dao.UserDAO;
import ch.ffhs.webE.dao.UserDAOImpl;
 
import ch.ffhs.webE.domain.User;
 
public class UserAction extends ActionSupport implements ModelDriven<User> {
 
private static final long serialVersionUID = -6659925652584240539L;
 
private User user = new User();
private List<User> userList = new ArrayList<User>();
private UserDAO userDAO = new UserDAOImpl();
@Override
public User getModel() {
return user;
}
public String add()
{
userDAO.saveUser(user);
return SUCCESS;
}
public String addForm() {
return SUCCESS;
}
public String list()
{
userList = userDAO.listUser();
return SUCCESS;
}
public User getUser() {
return user;
}
 
public void setUser(User user) {
this.user = user;
}
 
public List<User> getUserList() {
return userList;
}
 
public void setUserList(List<User> userList) {
this.userList = userList;
}
 
}
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property