在php中,我用来通过检查会话中的成员id来验证用户是否已登录,如果设置为ok,则页面将通过Header重定向到登录页面。这个身份验证脚本是用auth.php编写的,我过去常常把它包含在任何需要登录的页面中。很简单。然而,我不能在jsp中做同样的事情。因为无论auth.jsp执行什么操作,页面的其余部分都会加载,其中包括auth.jsp。auth.jsp是
<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user
如果用户已经登录,我想阻止用户返回登录页面
if (req.getRequestURI().indexOf("Login.jsp") != -1 || req.getRequestURI().indexOf("LoginE.jsp") != -1) {
System.out.println("trtying to go to login");
//what should I write here to redirect the user to the page he w
我试图创建一个带有登录页面的个人网站。首先,您必须创建一个帐户,该信息将存储在我的计算机中的文本文件中。在我尝试登录之前一切都很顺利。
我写了一个代码来检查用户写他们的帐户信息是对还是错,以便登录。但每次它总是说User or password is not correct,即使有正确的帐户。到目前为止这是我的代码
PrintWriter out = response.getWriter();
String user = request.getParameter("u1");
String pass = request.getParameter("u2");
H
我知道在SO上有许多类似的问题--其中大多数都提到了用servlet过滤器来实现这个概念。
我使用的是基于表单的声明式安全方法。而且,当某个用户在登录表单上输入他(或她)的凭据(用户名和密码)时,他将被重定向到特定/安全的jsp页面。该网页内容的一部分是:
Hello <%=request.getUserPrincipal().getName().toString()%>
You are able to view this page because you are authorized user.
现在,如果用户登录,我想显示他/她的用户名,不管它的jsp页面是否安全。就像
这就是问题所在。当用户注销我的网站,他们仍然可以点击后退按钮,并继续使用该网站。为了跟踪用户是否登录,我创建了一个会话属性"isActive“。当用户登录时,属性设置为true,并在会话在注销时失效之前(冗余地)删除。此外,在每一页上,我都会检查属性是否存在。
我还指定页面不应该缓存在它们的头标签中。
尽管如此,用户仍然能够在浏览器上回击,并继续使用站点,就好像他们从未注销过一样。
知道怎么解决这个问题吗?
以下是代码:
登录Servlet:
...
session.setAttribute("isActive", true);
//Redirect to home p