Как защитить мое веб-приложение на Java? - PullRequest
7 голосов
/ 13 марта 2012

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

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

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

Я понятия не имею, как это сделать.Подскажите, пожалуйста, как мне этого добиться?

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

Ответы [ 6 ]

4 голосов
/ 13 марта 2012

Вы должны иметь Проверка подлинности на основе форм . Вот фрагмент кода, который необходимо добавить в ваш 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 голосов
/ 13 марта 2012

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

0 голосов
/ 02 февраля 2015

это действительно лучший способ конвертировать HTTP-запрос в HTTPS-запрос

http://middlewaremagic.com/weblogic/?p=2019

0 голосов
/ 06 декабря 2014

Когда пользователь вводит учетные данные и передает их сервлету входа, добавьте имя пользователя или идентификатор пользователя в сеанс. Проверьте атрибут сеанса в заголовке приложения (так на каждой странице), что имя пользователя или идентификатор пользователя существуют в сеансе? Если да, то перенаправьте его на запрашиваемую страницу, в противном случае перенаправьте пользователя на 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);
}

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

0 голосов
/ 04 марта 2014

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

0 голосов
/ 13 марта 2012

Spring Security 3 является мощным и простым в настройке

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ns-config.html#ns-minimal

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...