2015-11-02 134 views
0

我的菜单选项隐藏在JSP/HTML页面菜单选项。如何根据用户根据登录的用户登录

我已创建了header.jsp中,footer.jsp中,用户豆简单的登录页面,servlet和dao。在header.jsp中,我创建了包含AddDayWork,WeekTimeSheet,AddNewEmployee,RetrieveTimeSheet按钮的菜单选项,供管理员使用。而对于员工只需要显示AddDayWork,WeekTimeSheet按钮。如果登录用户不是管理员或管理员,我不希望他们有权访问AddNewEmployee,RetrieveTimeSheet按钮。请帮助

header.jsp中

<div class="nav">  

    <ul><li class="container"><img src="${pageContext.request.contextPath}/images/enabling.jpg" /></li> 
    <li class="current"><a href="daywise.jsp">DayWise TimeSheet </a></li> 
    <li><a href="timesheet.jsp">Weekly TimeSheet</a></li> 
    <li><a href="newuser.jsp">Add New Employeer</a></li> 
    <li><a href="retrieve.jsp">Retrieve TimeSheet</a></li> 
</ul> 
</div> 

的index.jsp

<table> 
      <tr> 
       <td>User ID</td> 
       <td><input type="text" name="Emp_id" required="required" /></td> 
      </tr> 
      <tr> 
       <td>Password</td> 
       <td><input type="password" name="Pwd" required="required" /></td> 
      </tr> 
      <tr> 
       <td><input type="submit" value="Login" /></td> 
      </tr> 
     </table> 

LoginServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)  
     throws ServletException, IOException {  


    response.setContentType("text/html");  
    PrintWriter out = response.getWriter();  

    String n=request.getParameter("Emp_id");  
    String p=request.getParameter("Pwd"); 


    HttpSession session = request.getSession(false); 
    if(session!=null) 
    session.setAttribute("name", n); 

    if(LoginDao.validate(n,p)){  
     RequestDispatcher rd=request.getRequestDispatcher("timesheet.jsp");  
     rd.forward(request,response);  
    }  
    else{  
     out.print("<p style=\"color:red\">Sorry Employee ID or password error</p>");  
     RequestDispatcher rd=request.getRequestDispatcher("index.jsp");  
     rd.include(request,response); 

    }  

    out.close();  
} 
protected void doPost(HttpServletRequest request, 
     HttpServletResponse response) 
     throws ServletException, IOException { 
    doGet(request, response); 
} 

LoginDao.java

public class LoginDao { 

public static boolean validate(String name, String pass) { 

    boolean status = false; 
    PreparedStatement pst = null; 
    ResultSet rs = null; 
    try{ 
      Connection conn=ConnectionProvider.getConn(); 

     pst = conn.prepareStatement("select * from employee where Emp_id=? and Pwd=?"); 
     pst.setString(1, name); 
     pst.setString(2, pass); 

     rs = pst.executeQuery(); 
     status = rs.next(); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 
return status; 
} 
} 

回答

0

你必须创建RBS(卷为基础的系统) 1.创建一个表来的用户的存储卷与卷 2.匹配并编写代码,如果else语句前: - //有关管理

if(rollId == 1){ 
// write code for other admin 
}else{ 
    // write code for other user 
} 
+0

谢谢你的回复......我不知道如何做基于滚动的系统。你能告诉我该怎么做。 – dpk

+0

按照这个链接,你会发现你的答案: - http://stackoverflow.com/questions/16139712/how-to-design-a-hierarchical-role-based-access-control-system –