2013-07-30 7 views
1

Я хочу, чтобы веб-браузер запрашивал имя пользователя и пароль, используя приглашение для входа по умолчанию, как это.

Firefox Login Prompt
Я прочитал о том, как его реализовать here, но это для ASP. Я хочу, чтобы это было сделано в JSP или сервлете, и я также хочу знать, как я получу эти имя пользователя и пароль в своем сервлетеКак поместить приглашение для входа в браузер в JSP и получить имя пользователя и пароль

ответ

0

Вам необходимо использовать аутентификацию BASIC. Для этого вам нужно использовать JAAS. This tutorial обеспечивает аутентификацию на основе FORM. но, как вы хотите BASIC аутентификацию, вам нужно

<login-config> 
    <auth-method>BASIC</auth-method> 
</login-config> 

Вы можете получить пользователя принципала следующим

request.getUserPrincipal().getName().toString(); 
0

Вы должны использовать обычную проверку подлинности для этого вы можете обратиться ссылку, это дает базовую аутентификацию используя сервлет.

<login-config> 
     <auth-method>BASIC</auth-method> 
</login-config> 

Он настраивает базовую аутентификацию в web.xml Кроме того, вам нужно добавить

<?xml version='1.0' encoding='utf-8'?> 
<tomcat-users> 
    <role rolename="tomcat"/> 
    <user username="tomcat" password="tomcat" roles="tomcat"/> 
    <user username="yourname" password="yourpassword" roles="tomcat"/> 
    <user username="test" password="test"/> 
</tomcat-users> 

в TOMCAT-users.xml

Пример ссылка: http://www.avajava.com/tutorials/lessons/how-do-i-use-basic-authentication-with-tomcat.html?page=1

Надежда это полезно для вас.

+0

Спасибо. Это было очень полезно –

0
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    request.setCharacterEncoding("windows-31j"); 
    response.setContentType("text/html; charset=windows-31j"); 
    String auth = request.getHeader("Authorization"); 
    if (auth == null) 
    { 
     response.setStatus(401); 
     response.setHeader("Cache-Control","no-store"); 
     response.setDateHeader("Expires",0); 
     response.setHeader("WWW-authenticate","Basic Realm=\"AuthDemo Server\""); 

    } else { 
     response.getWriter().print("Authorization :" + request.getHeader("Authorization")); 
    } 

      } 
     } 

 Смежные вопросы

  • Нет связанных вопросов^_^