java判断是否登录
时间: 2023-09-10 10:09:36 浏览: 60
在Java中,可以通过判断session变量是否存在来判断用户是否登录。如果指定名称的session变量不存在,即为null,那么可以判定用户尚未登录。推荐的验证方式是使用以下代码:
```java
Object pwd = session.getAttribute("loginUserPwd");
if (pwd == null) {
out.print("你还没有登录");
//...其他代码...
} else {
out.print("你已经登录了");
//...其他代码...
}
```
这种方式可以简单地判断用户是否登录。然而,在多用户的情况下,如果一个用户登录后,使用适当的URL即可访问另一个用户的资料,这是不希望出现的。因此,在这种情况下,验证不能仅仅判断session变量是否为空,而是需要通过session变量是否等于用户自己设置的某个密码来判断是否是自己本人登录。这样可以将登录验证细化到用户级别,确保每个用户只能管理自己的资料。
```java
Object pwd = session.getAttribute("loginUserPwd");
String clientPWD = (String) session.getAttribute("loginUserPwd"); //数据来源客户端用户的输入
String serverPWD = "XXX"; //这个密码来源于服务器端某个文件或DB中,是用户自己事先设置好的
if (pwd == null || !clientPWD.equals(serverPWD)) {
out.print("你还没有登录,或不是自己本人登录");
//...其他代码...
} else {
out.print("你已经登录了,并且是自己登录");
//...其他代码...
}
```
通过这种方式,可以确保用户登录验证更加安全和准确。
#### 引用[.reference_title]
- *1* *2* *3* [Java登录验证问题](https://blog.csdn.net/weixin_44355164/article/details/89407987)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]