summaryrefslogtreecommitdiff
path: root/orkweb/src/net/sf/oreka/pages/HomePage.java
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-12-02 16:31:48 +0000
committerHenri Herscher <henri@oreka.org>2005-12-02 16:31:48 +0000
commitc851c21a303403f24f19572ba09905473c55a8b9 (patch)
tree1b6524c555665882d375ffe06f620ea78d538735 /orkweb/src/net/sf/oreka/pages/HomePage.java
parent53bc868730fd5da3d7bba4014783cca1d13dbb21 (diff)
Added Authentication against database
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@84 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkweb/src/net/sf/oreka/pages/HomePage.java')
-rw-r--r--orkweb/src/net/sf/oreka/pages/HomePage.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/orkweb/src/net/sf/oreka/pages/HomePage.java b/orkweb/src/net/sf/oreka/pages/HomePage.java
new file mode 100644
index 0000000..dc32314
--- /dev/null
+++ b/orkweb/src/net/sf/oreka/pages/HomePage.java
@@ -0,0 +1,69 @@
+/*
+ /*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.pages;
+
+import net.sf.oreka.orkweb.ContextListener;
+import net.sf.oreka.persistent.User;
+import net.sf.oreka.services.UserServiceHbn;
+
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.PageRedirectException;
+import org.apache.tapestry.annotations.Persist;
+import org.apache.tapestry.event.PageBeginRenderListener;
+import org.apache.tapestry.event.PageEvent;
+
+public abstract class HomePage extends OrkPage implements PageBeginRenderListener {
+
+ static UserServiceHbn srv = new UserServiceHbn();
+
+ public abstract String getUsername();
+ public abstract void setUsername(String username);
+
+ public abstract String getPassword();
+ public abstract void setPassword(String password);
+
+ @Persist
+ public abstract String getErrorMessage();
+ public abstract void setErrorMessage(String msg);
+
+ public HomePage() {
+
+ }
+
+ public void formSubmit(IRequestCycle cycle) {
+
+ if (ContextListener.debugSwitch == true && getUsername() == null) {
+ // In debug mode, make user = admin by default
+ setUsername("admin");
+ }
+
+ User user = srv.login(getUsername(), getPassword());
+ if (user != null) {
+ getSessionStateObject().setUser(user);
+ cycle.activate("RecSegments");
+ }
+ else {
+ setErrorMessage("Invalid login or password");
+ }
+ }
+
+ public void pageBeginRender(PageEvent event) {
+
+ if(getSessionStateObject().getUser() != null) {
+ RecSegmentsPage pg = (RecSegmentsPage)getRequestCycle().getPage("RecSegments");
+ throw new PageRedirectException(pg);
+ }
+ }
+}