我的应用程序中有 2 个页面:Login.aspx 和 Home.aspx。
现在,如果用户没有登录,他不应该从 Web 浏览器访问 Home.aspx。
我知道这可以通过会话实现,但不知道如何实现。
让我知道该怎么做?
谢谢!
我的应用程序中有 2 个页面:Login.aspx 和 Home.aspx。
现在,如果用户没有登录,他不应该从 Web 浏览器访问 Home.aspx。
我知道这可以通过会话实现,但不知道如何实现。
让我知道该怎么做?
谢谢!
我处理这个问题的方法是在成功登录时设置一个令牌。然后在每个页面的加载事件中我检查是否设置了令牌。如果没有令牌,他们会被重定向。根据应用程序的性质,我会将它们发送到未经授权的页面或登录屏幕。
通常我将令牌保留在会话中,但如果您想允许用户在会话中保持他们的登录,那么浏览器 cookie 也应该可以工作。
我不知道你到底想要什么,但这是一个解决方案 1. 像这样成功登录后创建 seesion 变量
Session["username"] = textbox1.text;
在您创建会话变量后,请使用
Server.Transfer()
代码中的方法
这是我目前知道如何做的唯一方法,祝你好运
您可以在登录后使用该方法创建会话
HttpSession obj1=request.getSession();
注意这里这个方法没有参数。
现在转到调用主页的 servlet 或 jsp 并使用该方法在那里创建另一个会话
HttpSession obj2=request.getSession(false);
请注意,这里我采用了一个参数false
,如果用户在登录时没有创建会话,这意味着他还没有登录,这将阻止用户。
现在检查:
if(obj2.isNew()){ response.Redirect(loginpage url)}