gpt4 book ai didi

java - 在 Java 中检查 Hibernate 用户名和密码

转载 作者:行者123 更新时间:2023-12-01 10:21:02 25 4
gpt4 key购买 nike

我正在尝试将用户的用户名和密码与数据库中的用户名和密码进行比较。我可以成功检查用户名,但我不确定如何同时比较用户名和密码:/希望有人可以帮助我

这是登录方法。

@ButtonMethod(buttonName="loginButton")
public String loginMethod() {
String address = "login.jsp";
fillBeanFromRequest(data);
setErrors(data);
if (isValidProperty("username") && isValidProperty("password")) {
Object dataPersistent =
HibernateHelper.getFirstMatch(data,
"username", data.getUsername());
if (dataPersistent != null) {
data = (RequestDataAccount)dataPersistent;
response.addCookie(new Cookie("username", data.getUsername()));
clearErrors();
address = "ShowCookies.jsp";

}
} else {
address = "login.jsp";
}
return jspLocation(address);
}

最佳答案

上次我检查过,在 Java 中你可以像这样比较字符串

form.getPassword().equals(account.getPassword())

但在您的代码中,我看到您有一个 data 变量,该变量在代码片段的开头带有表单,然后被分配数据库记录的值!不,不。两者都需要。

此外,由于这是一个公共(public)论坛,其他人可能会来到这里并看到此帖子,因此请考虑密码身份验证的常用规则:

  • 在搜索匹配项之前规范化用户名(至少不区分大小写)
  • 不要将密码以明文形式存储在数据库中(例如使用 bcrypt)
  • 比较 secret 时使用恒定时间算法

关于java - 在 Java 中检查 Hibernate 用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com