Ниже приведен пример реализации файла index.html. В демонстрационно-дидактических целях документ содержит примеры всех упомянутых механизмов: 01<html>
02<head>
03<script>
04
05function createHttpRequest()
06{
07 var httpRequest;
08 if(window.XMLHttpRequest)
09 {
10 httpRequest = new XMLHttpRequest();
11 if (httpRequest.overrideMimeType)
12 httpRequest.overrideMimeType('text/xml');
13 }
14 else if(window.ActiveXObject)
15 {
16 try
17 {
18 httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
19 }
20 catch(e)
21 {
22 try
23 {
24 httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
25 }
26 catch(e){}
27 }
28 }
29 return httpRequest;
30}
31
32function doSubmit()
33{
34 var handler = "parus";
35 //если организация одна, то оставить так.
36 //если несколько организаций, то, соответственно,
37 //"parus1", "parus2" и так далее.
38
39 var company = null;
40 //если вы не распределяете обработчики по организациям, то
41 //определите организацию здесь, например, так:
42 //var company = "Организация";
43
44 var oTestReq = createHttpRequest();
45
46 oTestReq.open("GET", "/" + handler + "/" + "sysinfo.xml?" +
47 "login=" + document.all["login"].value + "&" +
48 "password=" + document.all["password"].value, false,
49 document.all["login"].value, document.all["password"].value);
50
51 oTestReq.setRequestHeader("Disable-Basic-Auth", "yes")
52 oTestReq.send("");
53
54 if (oTestReq.status == 401 || oTestReq.status == 403)
55 alert("Пользователь или пароль указаны неверно.");
56 else if (oTestReq.status == 200) {
57 document.cookie = "justClosed=0";
58 document.cookie = "loggedUserHandler=" + handler +
59 (company ? "%3B" + encodeURI(company) : "");
60 document.cookie = "loggedUserName=" + document.all["login"].value;
61 document.cookie = "loggedUserPassword=" + document.all["password"].value;
62 document.all["loginform"].submit();
63 }
64
65}
66
67</script>
68</head>
69
70
71<body>
72
73<!-- перенаправление на "стандартную" форму логина !-->
74 <a href="/parusjs" target="_blank">Работа с приложением.</a>
75
76<hr/>
77
78<!-- реализация своей формы логина с обработкой аутентификаци !-->
79 <form id="loginform" action="/parusjs" method="post">
80 Пользователь: <input type="text" id="login" name="login"/><br/>
81 Пароль: <input type="password" id="password" name="password"/><br/>
82 <input type="button" value="Войти" onClick="doSubmit()" />
83 </form>
84
85<hr/>
86
87<!-- приложение во фрейме -->
88<iframe
89 src="/parusjs"
90 frameborder="0"
91 width="100%"
92 height="70%">
93</iframe>
94
95</body>
96</html>
|