summaryrefslogtreecommitdiff
path: root/webapps/login.esp
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2006-12-31 20:05:29 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:30:39 -0500
commit43470b5ec3d451aa75acf2cda40cf2dcc019efab (patch)
treeb5050af45bd3c56a33332b6cbb0a5e0ff69ab6b3 /webapps/login.esp
parent4024697a0b7b97acdc5c411ab9fe8c894c66752e (diff)
downloadsamba-43470b5ec3d451aa75acf2cda40cf2dcc019efab.tar.gz
samba-43470b5ec3d451aa75acf2cda40cf2dcc019efab.tar.bz2
samba-43470b5ec3d451aa75acf2cda40cf2dcc019efab.zip
r20444: WEB Application framework / SWAT.
We're now at the stage where the web application framework should build and install automatically. Derrell (This used to be commit 0201baef46c1701007e0a4cdd95edee287939318)
Diffstat (limited to 'webapps/login.esp')
-rw-r--r--webapps/login.esp59
1 files changed, 59 insertions, 0 deletions
diff --git a/webapps/login.esp b/webapps/login.esp
new file mode 100644
index 0000000000..ffbeee8d5e
--- /dev/null
+++ b/webapps/login.esp
@@ -0,0 +1,59 @@
+<% page_header("plain", "Samba WEB Application Login", "");
+ libinclude("auth.js");
+ include("/scripting/forms.js");
+
+if (request['SESSION_EXPIRED'] == "True") {
+ write("<b>Your session has expired - please authenticate again<br /></b>\n");
+}
+
+var f = FormObj("login", 3, 1);
+f.element[0].label = "Username";
+f.element[0].value = form['Username'];
+f.element[1].label = "Password";
+f.element[1].value = form['Password'];
+f.element[1].type = "password";
+f.element[2].label = "Domain";
+f.element[2].type = "select";
+f.element[2].list = getDomainList();
+f.submit[0] = "Login";
+
+f.display();
+%>
+
+<%
+ if (request.REQUEST_METHOD == "POST") {
+ var creds = credentials_init();
+ creds.set_username(form.Username);
+ creds.set_password(form.Password);
+ creds.set_domain(form.Domain);
+ creds.set_workstation(request['REMOTE_HOST']);
+
+ auth = userAuth(creds, request['REMOTE_SOCKET_ADDRESS']);
+ if (auth == undefined) {
+ write("<b>Invalid login - please try again<br /></b>\n");
+ } else if (auth.result) {
+ session.AUTHENTICATED = true;
+ session.authinfo = new Object();
+
+ session.authinfo.username = auth.username;
+ session.authinfo.domain = auth.domain;
+ session.authinfo.credentials = creds;
+ session.authinfo.session_info = auth.session_info;
+
+ /* if the user was asking for the login page, then now
+ redirect them to the main page. Otherwise just
+ redirect them to the current page, which will now
+ show its true content */
+ if (request.REQUEST_URI == "/login.esp") {
+ redirect(session_uri("/"));
+ } else {
+ redirect(session_uri(request.REQUEST_URI));
+ }
+ } else if (auth.report == undefined) {
+ write("<b>Login failed - please try again<br /></b>\n");
+ } else {
+ write("<b>Login failed: " + auth.report + " - please try again<br /></b>\n");
+ }
+ }
+%>
+<% page_footer(); %>