0

我是使用 jsp、servlet、bean 等的新手。

也许是一个奇怪的问题,但是在 jsp 中制作选择菜单的最安全方法是什么,以确保您无法直接访问它。

此时我有一个登录系统,根据我从数据库中检索到的用户“种类”,我根据他们拥有的“权限”将它们发送到特定的 jsp。在此页面上,他们将选择他们可以做的可能性。

但如果我使用类似的东西:

<a href="next.jsp">next option</a>

从外部访问这些下一页很容易(那时对登录系统没有多大用处)。

我可以使用从上一页检索到的 bean,我检查它是否为空(如果您直接访问此页面,则会如此)或类似的东西。

欢迎大家提出意见。谢谢

4

1 回答 1

0

您可以使用Servlet 过滤器来验证用户是否已登录系统并验证用户是否有权访问此页面。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); 
    }
}
于 2013-03-02T19:19:35.750 回答