r26490: Update WHATSNEW. Unless some fancy new words arive soon, this is what
[samba.git] / swat / login.esp
index 67fd45f8c0a94e34a118e9ab57c4f3f8926dbb66..9e9f6f99030d8c91c64bb1dc567f93cae9ff5b0e 100644 (file)
@@ -1,5 +1,6 @@
 <% page_header("plain", "SWAT 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");
@@ -16,30 +17,30 @@ f.element[2].type  = "select";
 f.element[2].list  = getDomainList();
 f.submit[0] = "Login";
 
-display_form(f);
+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']);
 
-               var authinfo = new Object();
-               authinfo.username = form.Username;
-               authinfo.password = form.Password;
-               authinfo.domain = form.Domain;
-               authinfo.rhost = request['REMOTE_HOST'];
-
-               auth = userAuth(authinfo);
+               auth = userAuth(creds, request['REMOTE_SOCKET_ADDRESS']);
                if (auth == undefined) {
                        write("<b>Invalid login - please try again<br /></b>\n");
                } else if (auth.result) {
-
-                       /* for now just authenticate everyone */
                        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;
+                       session.authinfo.user_class = auth.user_class;
+                       
                        /* 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
@@ -49,8 +50,10 @@ display_form(f);
                        } else {
                           redirect(session_uri(request.REQUEST_URI));
                        }
-               } else {
+               } 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");
                }
        }
 %>