- introduced sitemesh for templating, all templates rewritten - added some basic admin stuff
/trunk/src/ch/ffhs/webE/web/UserAction.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: action/UserForm.java |
=================================================================== |
--- action/UserForm.java (nonexistent) |
+++ action/UserForm.java (revision 20) |
@@ -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; |
+ } |
+} |
/action/UserForm.java |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: action/LoginAction.java |
=================================================================== |
--- action/LoginAction.java (revision 19) |
+++ action/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 |