JSP:安全选择菜单



我不熟悉使用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); 
    }
}

最新更新