2010-05-19 4 views
2

Как заблокировать доступ к сайту, если пользователь не вошел в систему?Вход на веб-форму в Java

Под web.xml> Безопасность Я проверил проверку подлинности на основе формы, а затем выбрал страницу входа и ошибки, но я не знаю, как заблокировать доступ и перенаправить пользователя на страницу входа.

Нужен ли мне фильтр? Если да, то как я могу получить URL-адрес для входа?

И как я могу назвать метод проверки? Я видел в некоторых примерах этот код

<form method=post action="j_security_check"> 
    <input type="text" name="j_username" /> 
    <input type="password" name="j_password" /> 
    </form> 

Что он делает?

ответ

3

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

<security-constraint> 
    <display-name>Constraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>all-resources</web-resource-name> 
     <description/> 
     <url-pattern>/pages/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <description/> 
     <role-name>User</role-name> 
    </auth-constraint> 
</security-constraint> 
+0

Это работает, спасибо! Если вы знаете, можете ли вы отредактировать ответ и дать мне пример о том, как я могу назвать метод проверки пользователя, перенаправить и прочее ...? – BrunoLM

+0

Фактическое выполнение j_security_check зависит от того, какой сервер приложений вы используете. Если вы хотите сделать свой собственный, вы хотите прочитать JAAS: http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JAASRealm Примечание. Есть много веб-страниц которые имеют все, что готово для вас, а не целый ряд неакадемических причин для повторного использования JAAS. – Affe