2012-03-13 21 views
6

Mam aplikację internetową, w której po zalogowaniu się użytkownicy odwiedzają stronę mainjsp.jsp.Jak zabezpieczyć moją aplikację internetową Java?

Na tej stronie znajduje się kilka pól tekstowych z datami oraz datami i wyborem z innego menu, dane są przesyłane. Dane te są pobierane przez servlet i wracane na stronę mainjsp.

Moja troska dotyczy bezpieczeństwa. Teraz, gdy kopiuję wklejenie adresu URL strony mainjsp.jsp i wkleję go do dowolnej przeglądarki, ta strona wygląda tak, jak jest. Nie chcę tego. Chcę, aby użytkownicy najpierw się logowali i dlatego chcę, aby moja aplikacja internetowa była bezpieczna.

Nie mam pojęcia, jak to zrobić. Czy możesz mi powiedzieć, jak mogę to osiągnąć?

Proszę również powiedzieć, jak mogę to osiągnąć dla dowolnej strony w aplikacji internetowej. Użytkownicy nie powinni mieć dostępu do żadnej strony, jeśli nie zalogowali się.

+0

użyć trochę autoryzacji i uwierzytelniania ramy takiego zabezpieczenia sprężyny JASS itp –

+0

nie mogę zrobić coś tutaj z JSP i serwlety? I miałaś robione na wiosnę lub jass ... czy możesz udzielić mi trochę szczegółów, żeby sprawdzić sprężyny, żeby to zaimplementować? –

+0

to, co zostało opisane w odpowiedzi, zapewni podstawowy poziom bezpieczeństwa, ale chcesz mieć oparty na rolach model bezpieczeństwa Spring security i JASS. Dobrym punktem wyjścia jest oficjalny dokument. http://static.springsource.org/spring-security/site/ –

Odpowiedz

4

Powinieneś mieć Uwierzytelnianie na podstawie formularza. Oto fragment, który powinien zostać dodany do 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> 

Niektóre Referencje:

2

Użytkownik może sprawdzić, czy Shiro używa gotowych ram zabezpieczeń i uniemożliwia zaawansowane zabezpieczenia w środowisku internetowym.

0

Użyj sesji. Ustaw zmienną sesji przy logowaniu i sprawdź, czy na każdej stronie musisz się zabezpieczyć.

0

Gdy użytkownik wprowadza poświadczenia i przesyła je do serwletu logowania, dodaj nazwę użytkownika lub identyfikator użytkownika w sesji. Sprawdź atrybut sesji w nagłówku aplikacji (tak na każdej stronie), który jest nazwą użytkownika lub identyfikatorem użytkownika w sesji? Jeśli tak, przekieruj go na żądaną stronę, w przeciwnym razie przekieruj użytkownika na login.jsp. na przykład:

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); 
} 

Można zmodyfikować fragment jak na swoje wymagania, jest to najprostszy sposób na zapobieganie użytkownikowi przejść na każdej stronie poprzez skopiowanie linku do innej przeglądarki.

Powiązane problemy