java - Java检查用户名和密码是否匹配(来自xml文件)
问题描述
@XmlElement(name = "Emp", type = UserBean.class)
@XmlElementWrapper(name = "Emps")
private List<UserBean> users;
if (users.stream().anyMatch(x -> x.getUsername().equals(userBean.getUsername()))
&& users.stream().anyMatch(x -> x.getPassowrd().equals(userBean.getPassowrd()))) {
login=true;
}
此函数检查容器中是否存在密码和名称。我从 xml 文件填充容器。但是,这只检查项目是否存在,而不是匹配。
xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Department>
<Emps>
<Emp>
<username>Name</username>
<password>name</password>
</Emp>
<Emp>
<username>Name2</username>
<password>name2</password>
</Emp>
</Emps>
</Department>
所以我可以输入用户名Name和密码name2并且登录仍然是真实的。只有当用户名和密码匹配时,他们是否有任何方法将登录设置为 true?
解决方案
只需将条件合并到一个谓词中:
if (users.stream().anyMatch(x -> x.getUsername().equals(userBean.getUsername())
&& x.getPassowrd().equals(userBean.getPassowrd())))
推荐阅读
- sql - 用于创建图表的 SQL (Access) 查询
- c++ - NetBeans 配置
- laravel - 如何在laravel中查找上一个日期范围内的数据
- c++ - C++ 表达式必须具有类模板的类类型
- javascript - ReferenceError:未定义不和谐;就在想踢的时候
- php - 在 Php 中回显输入值
- reactjs - “Content-Type”在 JavaScript 中显示了意外的标记
- git - 在 azure devops 中创建的每个 git 存储库的大小限制是多少
- postgresql - Azure DB for PostgreSQL - 未实现对 log_line_prefix 参数的更改
- c# - 如何为 C# 应用程序开发 C++ 插件?