2012-03-13 5 views
6

У меня есть веб-приложение, в котором, когда пользователи вступают в систему, они достигают страницы mainjsp.jsp.Как защитить мое веб-приложение java?

На этой странице есть несколько текстовых полей для дат и на основе дат и выбора из другого раскрывающегося списка, данные передаются. Эти данные извлекаются servlet и возвращаются на страницу mainjsp.

Моя забота о безопасности. Теперь, когда я скопирую URL-адрес страницы mainjsp.jsp и вставьте ее в любой браузер, эта страница появится как есть. Я не хочу, чтобы это произошло. Я хочу, чтобы пользователи сначала вошли в систему, и, следовательно, я хочу, чтобы мое веб-приложение было безопасным.

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

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

+0

использовать некоторые авторизации и аутентификации структуры, как яровой безопасности, JASS и т.д. –

+0

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

+0

то, что было описано в ответе, обеспечит базовый уровень безопасности, но вы хотите, чтобы модель безопасности Spring и JASS были основаны на ролях. Хорошей отправной точкой является официальный документ. http://static.springsource.org/spring-security/site/ –

ответ

4

Вы должны иметь Аутентификация на основе формы. Вот фрагмент кода, который должен быть добавлен в ваш web.xml

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>pagesWitUnrestrictedAccess</web-resource-name> 
     <description>No Description</description> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
     <description>No Description</description> 
     <transport-guarantee>NONE</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 


<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/loginerror.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

Некоторые Литература:

2

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

0

Используйте сеансы. Задайте переменную сеанса при входе в систему и убедитесь, что на каждой странице вы должны сделать защиту.

0

Когда пользователь вводит учетные данные и отправляет их сервлете входа, добавьте имя пользователя или идентификатор пользователя в сеанс. Проверить атрибут сеанса в заголовке приложения (например, на каждой странице), который является именем пользователя или идентификатором пользователя в сеансе? Если да, то перенаправите его на запрошенную страницу, иначе перенаправите пользователя на login.jsp. например:

String var= null; 
try { 
    var= (String) session.getAttribute("user_name_session"); 
    if (var== null) { 
     response.sendRedirect("/Login.jsp"); 
     return; 
    } 
} 
catch (Exception e) { 
    System.out.println(e); 
} 

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

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