使用密码[JSP / Servlet]限制对某些页面的访问

时间:2014-01-18 14:18:17

标签: jsp servlets

我正在用JSP和servlets为学校开发一个小网站,但我遇到了问题。 我正在尝试限制对工具箱页面的访问,因此只有拥有管理员密码的人才能访问它。

所以我把一个小表单(用post方法)来获取密码,在我的servlet中我得到它并检查它是否是好的。但它似乎总是认为这是一个错误的密码,并总是将我重定向到错误的页面...

我的FiltreAdmin servlet的内容:

public class FiltreAdmin extends HttpServlet {
public static final String VUE = "/WEB-INF/filtreAdmin.jsp";
public static final String ACCES_PUBLIC     = "/restreintAdmin.jsp";
public static final String ACCES_RESTREINT  = "/WEB-INF/toolbox.jsp";


public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
    this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
}

public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
    if ( request.getAttribute("passwd") != "freebeer" ) {
        /* Redirection vers la page publique */
        response.sendRedirect( request.getContextPath() + ACCES_PUBLIC );
    } else {
        /* Affichage de la page restreinte */
        this.getServletContext().getRequestDispatcher( ACCES_RESTREINT ).forward( request, response );
    }
}

}

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

忘记编辑发布答案..我的不好!

我找到了解决方案,感谢 home How do I compare strings in Java?)的链接

我只需要更改我的==并使用.equals()函数。