Revision 510
Added by bojilova about 24 years ago
lib/style/login.xsl | ||
---|---|---|
1 |
<?xml version="1.0"?> |
|
2 |
<!-- |
|
3 |
* login.xsl |
|
4 |
* |
|
5 |
* Authors: Jivka Bojilova |
|
6 |
* Copyright: 2000 Regents of the University of California and the |
|
7 |
* National Center for Ecological Analysis and Synthesis |
|
8 |
* For Details: http://www.nceas.ucsb.edu/ |
|
9 |
* Created: 2000 July 20 |
|
10 |
* File Info: '$Id$' |
|
11 |
* |
|
12 |
* This is an XSLT (http://www.w3.org/TR/xslt) stylesheet designed to |
|
13 |
* convert an XML file with information about login action |
|
14 |
* into an HTML format suitable for rendering with modern web browsers. |
|
15 |
--> |
|
16 |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
|
17 |
<xsl:output method="html"/> |
|
18 |
|
|
19 |
<xsl:template match="/"> |
|
20 |
<html> |
|
21 |
<xsl:apply-templates name="login"/> |
|
22 |
</html> |
|
23 |
</xsl:template> |
|
24 |
|
|
25 |
<xsl:template match="*" name="login"> |
|
26 |
<xsl:choose> |
|
27 |
|
|
28 |
<xsl:when test="name(self::node())='login'"> |
|
29 |
<head> |
|
30 |
<link rel="stylesheet" type="text/css" |
|
31 |
href="@html-path@/style/rowcol.css" /> |
|
32 |
<script language="JavaScript"> |
|
33 |
<![CDATA[ |
|
34 |
window.location="@html-path@/metacat.html" |
|
35 |
]]> |
|
36 |
</script> |
|
37 |
</head> |
|
38 |
<body class="emlbody"> |
|
39 |
<noscript> |
|
40 |
Please click <a href="@html-path@/metacat.html">here</a> |
|
41 |
to enter Metacat. To disable this message in the future |
|
42 |
please enable JavaScript on your browser. |
|
43 |
</noscript> |
|
44 |
</body> |
|
45 |
</xsl:when> |
|
46 |
|
|
47 |
<xsl:when test="name(self::node())='unauth_login'"> |
|
48 |
<head> |
|
49 |
<link rel="stylesheet" type="text/css" |
|
50 |
href="@html-path@/style/rowcol.css" /> |
|
51 |
<script language="JavaScript"> |
|
52 |
<![CDATA[ |
|
53 |
window.location="@html-path@/login.html" |
|
54 |
]]> |
|
55 |
</script> |
|
56 |
</head> |
|
57 |
<body class="emlbody"> |
|
58 |
<noscript> |
|
59 |
Please click <a href="@html-path@/login.html">here</a> |
|
60 |
to enter Metacat. To disable this message in the future |
|
61 |
please enable JavaScript on your browser. |
|
62 |
</noscript> |
|
63 |
</body> |
|
64 |
</xsl:when> |
|
65 |
|
|
66 |
<xsl:when test="name(self::node())='logout'"> |
|
67 |
<head> |
|
68 |
<link rel="stylesheet" type="text/css" |
|
69 |
href="@html-path@/style/rowcol.css" /> |
|
70 |
<script language="JavaScript"> |
|
71 |
<![CDATA[ |
|
72 |
window.location="@html-path@/index.html" |
|
73 |
]]> |
|
74 |
</script> |
|
75 |
</head> |
|
76 |
<body class="emlbody"> |
|
77 |
<noscript> |
|
78 |
Please click <a href="@html-path@/index.html">here</a> |
|
79 |
to enter Metacat. To disable this message in the future |
|
80 |
please enable JavaScript on your browser. |
|
81 |
</noscript> |
|
82 |
</body> |
|
83 |
</xsl:when> |
|
84 |
|
|
85 |
<xsl:when test="name(self::node())='error_login'"> |
|
86 |
<head> |
|
87 |
<link rel="stylesheet" type="text/css" |
|
88 |
href="@html-path@/style/rowcol.css" /> |
|
89 |
</head> |
|
90 |
<body class="emlbody"> |
|
91 |
<p style="color:red"> <b> Error Page </b> </p> |
|
92 |
<p> <xsl:value-of select="message"/> </p> |
|
93 |
<p> <a href="@html-path@/login.html">Try again</a> |
|
94 |
<a href="@html-path@/index.html">Continue</a> </p> |
|
95 |
</body> |
|
96 |
</xsl:when> |
|
97 |
|
|
98 |
</xsl:choose> |
|
99 |
</xsl:template> |
|
100 |
|
|
101 |
</xsl:stylesheet> |
|
0 | 102 |
src/loadstylesheets.sql | ||
---|---|---|
33 | 33 |
VALUES ('XSL', '-//NCEAS//resource//EN', '-//W3C//HTML//EN', |
34 | 34 |
'-//NCEAS//resource.xsl', |
35 | 35 |
'http://dev.nceas.ucsb.edu/metadata/style/resource.xsl'); |
36 |
INSERT INTO xml_catalog (entry_type, source_doctype, target_doctype, |
|
37 |
public_id, system_id) |
|
38 |
VALUES ('XSL', '-//NCEAS//login//EN', '-//W3C//HTML//EN', |
|
39 |
'-//NCEAS//login.xsl', |
|
40 |
'http://dev.nceas.ucsb.edu/metadata/style/login.xsl'); |
|
41 |
|
src/edu/ucsb/nceas/metacat/AuthSession.java | ||
---|---|---|
58 | 58 |
try { |
59 | 59 |
if ( authService.authenticate(username, password) ) { |
60 | 60 |
this.session = getSession(request, username, password); |
61 |
message = "User Authentication successful";
|
|
62 |
this.statusMessage = formatOutput("success", message);
|
|
61 |
message = "Authentication successful for user: " + username;
|
|
62 |
this.statusMessage = formatOutput("login", message);
|
|
63 | 63 |
return true; |
64 | 64 |
} else { |
65 | 65 |
message = "Authentication failed for user: " + username; |
66 |
this.statusMessage = formatOutput("unauth_login", message); |
|
67 |
return false; |
|
66 | 68 |
} |
67 | 69 |
} catch ( ConnectException ce ) { |
68 | 70 |
message = "Connection to the authentication service failed. " |
... | ... | |
71 | 73 |
message = ise.getMessage(); |
72 | 74 |
} |
73 | 75 |
|
74 |
this.statusMessage = formatOutput("error", message); |
|
76 |
this.statusMessage = formatOutput("error_login", message);
|
|
75 | 77 |
return false; |
76 | 78 |
} |
77 | 79 |
|
... | ... | |
145 | 147 |
|
146 | 148 |
out.append("<?xml version=\"1.0\"?>\n"); |
147 | 149 |
out.append("<" + tag + ">"); |
148 |
if ( tag.equals("error") ) { |
|
149 |
out.append(message); |
|
150 |
} else { |
|
151 |
out.append("\n <message>" + message + "</message>\n"); |
|
152 |
String username = (String)this.session.getAttribute("username"); |
|
153 |
out.append(" <username>" + username + "</username>\n"); |
|
154 |
} |
|
150 |
out.append("\n <message>" + message + "</message>\n"); |
|
155 | 151 |
out.append("</" + tag + ">"); |
156 | 152 |
|
157 | 153 |
return out.toString(); |
src/edu/ucsb/nceas/metacat/MetaCatServlet.java | ||
---|---|---|
400 | 400 |
conn = util.getConnection(); |
401 | 401 |
DBTransform trans = new DBTransform(conn); |
402 | 402 |
response.setContentType("text/html"); |
403 |
// user authentication successful |
|
404 |
if (isValid) { |
|
405 |
// trans.transformXMLDocument(sess.getMessage(), "-//NCEAS//login//EN", |
|
406 |
// "-//W3C//HTML//EN", out); |
|
407 |
response.sendRedirect( |
|
408 |
response.encodeRedirectUrl(htmlpath + "/metacat.html")); |
|
409 |
|
|
410 |
// unsuccessful user authentication |
|
411 |
} else { |
|
412 |
// trans.transformXMLDocument(sess.getMessage(), "-//NCEAS//nologin//EN", |
|
413 |
// "-//W3C//HTML//EN", out); |
|
414 |
response.sendRedirect(htmlpath + "/login.html"); |
|
415 |
} |
|
403 |
trans.transformXMLDocument(sess.getMessage(), "-//NCEAS//login//EN", |
|
404 |
"-//W3C//HTML//EN", out); |
|
416 | 405 |
util.returnConnection(conn); |
417 | 406 |
} catch(Exception e) { |
418 | 407 |
util.returnConnection(conn); |
... | ... | |
423 | 412 |
response.setContentType("text/xml"); |
424 | 413 |
out.println(sess.getMessage()); |
425 | 414 |
} |
415 |
|
|
416 |
/* WITHOUT XSLT transformation |
|
417 |
// redirects response to html page |
|
418 |
if (qformat.equals("html")) { |
|
419 |
// user authentication successful |
|
420 |
if (isValid) { |
|
421 |
response.sendRedirect( |
|
422 |
response.encodeRedirectUrl(htmlpath + "/metacat.html")); |
|
423 |
// unsuccessful user authentication |
|
424 |
} else { |
|
425 |
response.sendRedirect(htmlpath + "/login.html"); |
|
426 |
} |
|
427 |
// any output is returned |
|
428 |
} else { |
|
429 |
response.setContentType("text/xml"); |
|
430 |
out.println(sess.getMessage()); |
|
431 |
} |
|
432 |
*/ |
|
426 | 433 |
|
427 |
// if (action.equals("Login Client")) { |
|
428 |
// out.println(sess.getMessage()); |
|
429 |
// } else { |
|
430 |
// try { |
|
431 |
// if (isValid) { |
|
432 |
// if (un.equals("public")) { |
|
433 |
// response.sendRedirect( |
|
434 |
// response.encodeRedirectUrl(htmlpath + "/index.html")); |
|
435 |
// } else { |
|
436 |
// response.sendRedirect( |
|
437 |
// response.encodeRedirectUrl(htmlpath + "/metacat.html")); |
|
438 |
// } |
|
439 |
// } else { |
|
440 |
// response.sendRedirect(htmlpath + "/login.html"); |
|
441 |
// } |
|
442 |
// } catch ( java.io.IOException ioe) { |
|
443 |
// String message = "handleLoginAction() - " + |
|
444 |
// "Error on redirect of HttpServletResponse: " + |
|
445 |
// ioe.getMessage(); |
|
446 |
// out.println(message); |
|
447 |
// } |
|
448 |
// } |
|
449 | 434 |
} |
450 | 435 |
|
451 | 436 |
/** |
... | ... | |
463 | 448 |
// produce output |
464 | 449 |
StringBuffer output = new StringBuffer(); |
465 | 450 |
output.append("<?xml version=\"1.0\"?>"); |
466 |
output.append("<success>");
|
|
467 |
output.append("User logout.");
|
|
468 |
output.append("</success>");
|
|
451 |
output.append("<logout>");
|
|
452 |
output.append("User logged out");
|
|
453 |
output.append("</logout>");
|
|
469 | 454 |
|
470 | 455 |
//format and transform the output |
471 | 456 |
if (qformat.equals("html")) { |
... | ... | |
474 | 459 |
conn = util.getConnection(); |
475 | 460 |
DBTransform trans = new DBTransform(conn); |
476 | 461 |
response.setContentType("text/html"); |
477 |
//trans.transformXMLDocument(output, "-//NCEAS//logout//EN", |
|
478 |
// "-//W3C//HTML//EN", out); |
|
479 |
response.sendRedirect(htmlpath + "/index.html"); |
|
462 |
trans.transformXMLDocument(output.toString(), "-//NCEAS//login//EN", |
|
463 |
"-//W3C//HTML//EN", out); |
|
480 | 464 |
util.returnConnection(conn); |
481 | 465 |
} catch(Exception e) { |
482 | 466 |
util.returnConnection(conn); |
... | ... | |
487 | 471 |
out.println(output.toString()); |
488 | 472 |
} |
489 | 473 |
|
474 |
/* WITHOUT XSLT transformation |
|
475 |
// redirects response to html page |
|
476 |
if (qformat.equals("html")) { |
|
477 |
response.sendRedirect(htmlpath + "/index.html"); |
|
478 |
} catch(Exception e) { |
|
479 |
util.returnConnection(conn); |
|
480 |
} |
|
481 |
// any output is returned |
|
482 |
} else { |
|
483 |
response.setContentType("text/xml"); |
|
484 |
out.println(output.toString()); |
|
485 |
} |
|
486 |
*/ |
|
490 | 487 |
} |
491 | 488 |
|
492 | 489 |
|
Also available in: Unified diff
XSLT transformation on "login" and "logout" action