首页 > 解决方案 > 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?

标签: javaxml

解决方案


只需将条件合并到一个谓词中:

if (users.stream().anyMatch(x -> x.getUsername().equals(userBean.getUsername())
        && x.getPassowrd().equals(userBean.getPassowrd())))

推荐阅读