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;
}
}
谢谢你的回复......我不知道如何做基于滚动的系统。你能告诉我该怎么做。 – dpk
按照这个链接,你会发现你的答案: - http://stackoverflow.com/questions/16139712/how-to-design-a-hierarchical-role-based-access-control-system –