jsp - 如果已经登录,则从 login.jsp 重定向

标签 jsp redirect authentication

如果注册用户跳转到login.jsp我希望将他重定向到 youAreLoggedIn.jsp . 这可以用 <navigation-rule> 制作吗? ?我知道如何在 PHP 中执行此操作,但不知道如何在 JSP 中执行此操作。 当用户访问login.jsp它必须检查用户是否登录,我知道如何检查。但是如何触发这个 Action 呢?我应该制作一个新的 servlet 还是什么?

谢谢!

最佳答案

通常的做法是使用 Filter为了这。只需执行 javax.servlet.Filter , 在 web.xml 中定义它, 将其映射到 url-pattern/login.jsp并在 doFilter() 中写下如下内容方法:

if (((HttpServletRequest) request).getSession().getAttribute("user") != null) {
    // User is logged in, redirect to desired page.
    ((HttpServletResponse) response).sendRedirect("youAreLoggedIn.jsp");
} else {
    // Do nothing, continue request.
    chain.doFilter(request, response);
}

就这么简单。它当然假设已登录 User按照正常做法被放入 session 范围内。

也就是说,<navigation-rule>是 JSF 特定的,但您没有在您的问题或标签中说明任何关于 JSF 的信息。你不会把事情搞混吗?

关于jsp - 如果已经登录,则从 login.jsp 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318374/

相关文章:

java - 如何在没有JSTL和EJB的情况下从servlet输出数据到jsp

java - 如何在Spring Form Multiple Select中绑定(bind)模型数据

apache - 将 www.*.domain.com 重定向到 *.domain.com

c# - 自动重定向未经身份验证的用户

c# - Owin 使用外部表单例份验证 cookie

javascript - 如何在javascript中从单元格中获取值

jsp - 在 EL 中使用动态变量名称

javascript - JS : How to track click on links without losing the back button

php - 如果 WooCommerce 3+ 中的购物车页面上的购物车已清空,则重定向到商店

android - 使用2种不同的登录方式 : JWT token and Google sign-in in one app