Окно авторизации...
От: Atomik  
Дата: 16.11.02 12:39
Оценка:
Народ, мож кто может кодом помочь, как мне сделать окно ввода логина и пароля. Причём, не просто два Edit'a, а дополнительное, появляющееся при заходе на страницу. Как на платных порносайтах
Re: Окно авторизации...
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 16.11.02 13:51
Оценка:
Здравствуйте, Atomik, Вы писали:

A> Народ, мож кто может кодом помочь, как мне сделать окно ввода логина и пароля. Причём, не просто два Edit'a, а дополнительное, появляющееся при заходе на страницу. Как на платных порносайтах

Вообще если вы про сервер-сайд приложение — то это окно делает используемый пользователем браузер. Для того чтобы браузер вывел это окно, надо соответствующим образом настроить сервер. В случае веб-приложения на сервлетах в web.xml надо прописать
<!-- Security -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>application</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>role1</role-name>
            <role-name>role2</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>

<web-resource-collection> — задает ресурс, для которого требуется аутентификация,
<auth-constraint> — ограничения на доступ (разрешается только пользователям с ролью <role-name>)
<login-config> — ключевой момент. Задает тип аутентификации. В примере выше — BASIC — как раз и вызовет необходимый вам диалог при обращении к любому ресурсу вебприложения, обработку которого производит ваш контейнер.
Re[2]: Окно авторизации...
От: Atomik  
Дата: 16.11.02 17:52
Оценка:
Проблема в том, что мне необходимо введённую информацию записать. А как это сделать?(в смысле не записать, а отловить)!
Re[3]: Окно авторизации...
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 18.11.02 07:56
Оценка:
Здравствуйте, Atomik, Вы писали:

Вам надо анализировать запрос. Если дпроизводилась авторизация, в запросе будут заголовки или будут установлены сесионные атрибуты (в зависимости от способа аутентификации). Можно написать что-то в этом роде:
String loginName = null;
String loginPassword = null;
String authType = request.getAuthType();
if ("FORM".equals(authType)) {
    javax.servlet.http.HttpSession httpSession = request.getSession(false);
    if (httpSession != null) {
        loginName = (String)httpSession.getAttribute("j_username");
        loginPassword = (String)httpSession.getAttribute("j_password");
    }
} else if ("BASIC".equals(authType)) {
    String authorization = request.getHeader("Authorization");
    final String prefix = "Basic ";
    if (authorization != null && authorization.startsWith(prefix)) {
        authorization = decodeBase64(authorization.substring(prefix.length()).trim());
        int colon = authorization.indexOf(':');
        if (colon >= 0) {
            loginName = authorization.substring(0, colon);
            loginPassword = authorization.substring(colon + 1);
        }
    }
}

decodeBase64 — декодирует переданую строку из BASE64 кодировки
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.