我不熟悉使用jsp、servlet、bean等... .
可能是一个奇怪的问题,但是在jsp中创建选择菜单以确保您不能直接访问它的最安全的方法是什么?
此时,我有一个登录系统,根据我从数据库检索到的用户的"类型",我根据他们拥有的"权限"将他们发送到特定的jsp。在这个页面上,他们可以选择他们可以做的事情。
但是如果我用
<a href="next.jsp">next option</a>
可以很容易地从外部访问这些下一页(对于登录系统来说没有多大用处)。
我可以使用我从前一页检索的bean,我检查它是否为空(这将是这样的,如果你直接进入这个页面)或类似的东西。
欢迎提出任何建议。thx
您可以使用Servlet Filter来验证用户是否已登录系统,并验证用户是否具有访问此页面的权限。一个例子可以在StackOverflow Servlet-Filters wiki中得到说明。张贴相关代码:
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
//session.getAttribute("user") contains the user info in session
if (session == null || session.getAttribute("user") == null) {
// No logged-in user found, so redirect to login page.
response.sendRedirect(request.getContextPath() + "/login");
} else {
// Logged-in user found, so just continue request.
chain.doFilter(req, res);
}
}