gpt4 book ai didi

java - 如何在安全模块 Play 1.2.5 中硬编码用户名和密码

转载 作者:行者123 更新时间:2023-12-01 14:08:36 25 4
gpt4 key购买 nike

下面是在 http://www.playframework.com/documentation/1.2.5/secure 上找到的代码。

package controllers;

public class Security extends Secure.Security {

static boolean authenticate(String username, String password) {

User user = User.find("byEmail", username).first();
return user != null && user.password.equals(password);
}
}

我想将用户名和密码硬编码到 Controller 本身中。这样它只接受那些登录凭据。

我不知道该怎么做,但它一定是这样的:

package controllers;

public class Security extends Secure.Security {

static boolean authenticate(String username, String password) {

if (username=="abc@abc.com" && password=="abc123")
return....
.......
}
}

最佳答案

您走在正确的道路上。但是,一些注意事项:

  • 不要使用 == 运算符检查 String 相等性。请改用 String#equals()
  • 使用 equals 时,调用文字 String 上的方法。这些永远不能为 null,并有助于消除 NullPointerException
  • 将密码和用户名硬编码为纯字符串可能很危险:可以毫不费力地从内存中读取它们。
  • 因为 username=="abc@abc.com"&&password=="abc123" 是一个 boolean 值,所以您可以简单地返回该结果。

忽略有关安全问题的第 3 点,您的方法可能如下所示:

static boolean authenticate(String username, String password) {
return "abc@abc.com".equals(username) && "abc123".equals(password);
}

关于java - 如何在安全模块 Play 1.2.5 中硬编码用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712093/

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