JSP: Как я могу защитить страницу JSP с помощью пароля? - PullRequest
4 голосов
/ 23 августа 2010

Я бы хотел защитить страницу jsp паролем, который нужно ввести.

В apache я могу добавить файл паролей в .htaccess, но я не знаю, как это сделать в apache tomcat.

спасибо

Ответы [ 2 ]

9 голосов
/ 23 августа 2010

Итак, вы хотите разместить аутентификацию HTTP BASIC на конкретной странице JSP?Вот шаг за шагом:

  1. Сначала вам нужно объявить желаемое имя пользователя, имя пользователя и пароль в /conf/tomcat-users.xml.

    <tomcat-users>
        <role rolename="yourrole"/>
        <user username="yourname" password="yourpass" roles="yourrole" />
    </tomcat-users>
    

    (вы можете добавить столько<role> и <user> записей, как вы хотите, если уже есть записи, вы просто добавляете их в <tomcat-users>).

  2. Затем вам нужно объявить желаемую безопасностьограничение url-pattern файла JSP вместе с конфигурацией входа в систему BASIC (что означает HTTP BASIC-аутентификацию).

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>A JSP page</web-resource-name>
            <url-pattern>/page.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>yourrole</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>
    

    /page.jsp должен совпадать с контекстно-относительным URL-адресомСтраница JSP.yourrole должно совпадать с rolename, как определено в /conf/tomcat-users.xml.

Перезагрузите сервер, откройте страницу JSP в браузере и используйте yourname и yourpassвойти.

2 голосов
/ 23 августа 2010

Полная информация здесь Конфигурация Apache Tomcat 6 Realm HOWTO .

Самый простой способ - использовать MemoryRealm для определения пользователя (имя, пароль и роль).) в tomcat-users.xml и определите ресурсы, которые вы хотите защитить, в своем приложении web.xml.

...