Java 如何在安全模块Play 1.2.5中硬编码用户名和密码
下面是在上找到的代码 我想将用户名和密码硬编码到控制器本身。因此,它只接受那些登录凭据 我不知道怎么做,但一定是这样的:Java 如何在安全模块Play 1.2.5中硬编码用户名和密码,java,security,playframework,Java,Security,Playframework,下面是在上找到的代码 我想将用户名和密码硬编码到控制器本身。因此,它只接受那些登录凭据 我不知道怎么做,但一定是这样的: package controllers; public class Security extends Secure.Security { static boolean authenticate(String username, String password) { if (username=="abc@abc.com" && password=
package controllers;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
if (username=="abc@abc.com" && password=="abc123")
return....
.......
}
}
static boolean authenticate(String username, String password) {
return "abc@abc.com".equals(username) && "abc123".equals(password);
}
你在正确的轨道上。然而,有些人指出:
- 不要使用
运算符检查=
字符串是否相等。改用
String#equals()
- 使用equals时,在literal
字符串上调用该方法。这些参数永远不能为
,有助于消除null
sNullPointerException
- 将密码和用户名硬编码为普通字符串可能是危险的:它们可以从内存中读取,无需太多努力
- 因为
是一个布尔值,您只需返回该结果即可username==”abc@abc.com&&password==“abc123”
package controllers;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
if (username=="abc@abc.com" && password=="abc123")
return....
.......
}
}
static boolean authenticate(String username, String password) {
return "abc@abc.com".equals(username) && "abc123".equals(password);
}