2016-02-26 122 views
3

我試圖阻止訪客用戶訪問管理頁面。 這是我捕獲角色1 for admin0 for guest的地方。如何防止訪客用戶訪問管理頁面

\t <% 
 
HttpSession session = request.getSession(); 
 
String sessionVal= (String)session .getAttribute("loggedIn"); 
 
int role = (Integer)session .getAttribute("role"); 
 
System.out.println(" role "+ role); 
 
if(sessionVal == null) 
 
{ 
 
\t response.sendRedirect("/project/pages/login.jsp"); 
 
} 
 
else 
 
{ 
 
%> 
 
     // All html code goes here

這是導航

<ul id="nav"> 
 
\t <li><a href="/project/pages/home.jsp">Dashboard</a></li> 
 
\t <li ><a href="/project/pages/profile.jsp">Profile</a></li> \t \t \t \t \t 
 
\t <li><a href="/project/pages/setting.jsp">Setting</a></li> \t \t \t \t \t \t \t \t \t <li><a href="/project/pages/admin.jsp">Admin</a></li> 
 
</ul>

html代碼現在如何防止Guest用戶(role == 0)來訪問管理頁面。或if role == 0我該如何隱藏admin.jsp

+0

你需要攔截 –

+0

我是新來這個,可以ü請詳細說明位 – Varun

+0

我不知道你的項目設置。但篩選器用於身份驗證(等等)。你可以谷歌他們我相信你會找到大量的解釋和例子 –

回答

3

爲什麼不

if(sessionVal == null || role == 0) 

隱藏在JSP中的鏈接

<% 
HttpSession session = request.getSession(); 
int role = (Integer)session .getAttribute("role"); 
System.out.println(" role "+ role); 
if(role != 0) 
{ 
%> 
    <a href="admin.jsp">Top Secret Link</a> 
<% 
} 
+0

if(role == 0)用戶應該能夠訪問所有頁面,而不是admin.jsp – Varun

+0

,所以如果'role == 0'則重定向到其他頁面。如果'role == 0',不要顯示admin.jsp的鏈接 –

+0

是的,你知道了。但我面臨的問題在不顯示鏈接到admin.jsp – Varun

1

一個多種方式將以下....

在你admin.jsp開始頁面你可以有這樣的事情:

HttpSession monitorSession = request.getSession(); 
String sessionVal= (String)monitorSession.getAttribute("loggedIn"); 
int role = (Integer)monitorSession.getAttribute("role"); 

if(role ==0){ //make the check here 
    response.sendRedirect("somePage.jsp"); 
} 

也以同樣的方式,你可以從你的導航隱藏的admin.jsp選項

+0

如果(角色== 0){//在這裏檢查 response.sendRedirect(「somePage.jsp」); }如果我這樣做的客人將能夠看到admin.jsp,但我不想讓客人看到admin.jsp。我如何隱藏admin.jsp – Varun

+0

使用這個來阻止對jsp的訪問並使用@Scary Wombat答案將它從菜單中隱藏起來,這樣他就不能訪問admin.jsp – MaVRoSCy

3

你可以在你的JSP是這樣的:

<% 
    String sessionVal= (String)session .getAttribute("loggedIn"); 
    int role = (Integer)session .getAttribute("role"); 
      if (sessioanVal == null || role == 0) { 
    %> 
     <li><a href="/project/pages/home.jsp">Dashboard</a></li> (simplle which you want to hide) 

    <% 
    } else {        
    %> 
     <li ><a href="/project/pages/profile.jsp">Profile</a></li>  
     (which you want to show) 

    <% 
    } 
    %>