Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Шаблоны и примеры

Главная   Библиотека   Шаблоны и примеры

Как встроить в web-интерфейс панель формы аутентификации. Решение на основе web-агента

Виктор Аленьков

Альтернативой решению, описанному Николаем Норкиным >>>, предлагается решение на основе web-агента
Преимущество данного решения видится в отсутствии необходимости работы с domcfg.nsf, особенно при использовании множества баз данных с собственным дизайном формы авторизации

Решение состоит из трёх частей

1. Подформа LoginSubform, встраиваемая в web-дизайн страницы сайта
Содержимое подформы в passthru-html стиле:
<form action="<Computed Value>" method="post" name="LoginForm">
<label for="$UserName">Login:<br/></label>
<input type=text id="$UserName" name="$UserName">
<br/>
<label for="$UserPass">Password:<br/></label>
<input type="password" id="$UserPass" name="$UserPass">
<br/>
<button type=submit >Login</button>
</form>

Вычисляемое значение определяет путь ко второй части решения - web-агенту (webLogin)
"/" + @WebDbName + "/(WebLogin)?OpenAgent"

2. LotusScript-agent (WebLogin)
Производится собственно аутентификация, и (в случае успеха) осуществляется переход на страницу Login
Option Public
Option Declare

Const cFormLogin = {
<body onLoad="document.forms[0].submit()">
<form method="post" action="/names.nsf?Login" id="frmLogin">
<input type="text" size="20" maxlength="256" name="username" value="%USERNAME%">
<input type="password" size="20" maxlength="256" name="password" value="%USERPASS%">
<input type="hidden" name="redirectto" value="%REDIRECTTO%">
<input type="submit" value="Log In">
</form>
</body>
}

Sub Initialize
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim docHTML As NotesDocument
Dim strAuth As String

Dim strFormLogin As String
Dim strUserName As String
Dim strUserPass As String

Set db = ses.CurrentDatabase
Set docHTML = ses.DocumentContext

strAuth = docHTML.Request_Content(0)

strUserName = Strright(strAuth, "%24UserName=")
If Instr(strUserName, "&")>0 Then strUserName = Strleft(strUserName, "&")

strUserPass = Strright(strAuth, "%24UserPass=")
If Instr(strUserPass, "&")>0 Then struserPass = Strleft(strUserPass, "&")

strFormLogin = Replace(cFormLogin, {%USERNAME%}, strUserName)
strFormLogin = Replace(strFormLogin, {%USERPASS%}, strUserPass)
strFormLogin = Replace(strFormLogin, {%REDIRECTTO%}, "/" & Replace(db.FilePath, "\", "/") & "/Login")

Print strFormLogin
End Sub


3. JavaScript-код страницы Login возвращает к исходной на момент аутентификации странице
<script>
var loc = top.parent.document.location;
loc.replace(loc.href);
</script>

Альтернативные решения:
Как встроить в web-интерфейс панель формы аутентификации. >>>
Как встроить в web-интерфейс панель формы аутентификации. Решение на основе Ajax-технологии с использованием jQuery >>>

Читайте на Notesnet.ru
Как сделать автоподстановку при вводе текста >>>
 
  Опубликовано — 04/27/2009 |    

Удав, 17.12.2009 10:15:15:
а в случае неудачной авторизации куда переадресовывает? на стандартную форму?

DNN, 18.05.2009 09:11:14:
Интересно!



Добавить комментарий
Имя * :
e-mail
Комментарий * :
Код подтверждения * :


Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU