用java写一段单点登录的代码
时间: 2024-03-13 21:36:47 浏览: 26
以下是一段示例的 Java 代码,实现了单点登录的功能:
```
import java.util.HashMap;
import java.util.Map;
public class SingleSignOnRegistry {
private static final Map<String, String> USERS = new HashMap<>();
public static boolean isValid(String token) {
return USERS.containsValue(token);
}
public static void registerToken(String user, String token) {
USERS.put(user, token);
}
}
public class SSOTest {
public static void main(String[] args) {
String user = "user1";
String token = "token1";
SingleSignOnRegistry.registerToken(user, token);
String user2 = "user2";
String token2 = "token2";
SingleSignOnRegistry.registerToken(user2, token2);
String inputToken = "token1";
System.out.println(SingleSignOnRegistry.isValid(inputToken));
inputToken = "token2";
System.out.println(SingleSignOnRegistry.isValid(inputToken));
inputToken = "token3";
System.out.println(SingleSignOnRegistry.isValid(inputToken));
}
}
```
这段代码定义了一个单例类 `SingleSignOnRegistry`,用于存储用户的令牌信息。单例类中有两个方法:`isValid` 方法用于验证用户的令牌是否合法;`registerToken` 方法用于注册用户的令牌。
在程序的 `main` 方法中,我们注册了两个用户的令牌,然后验证了三个令牌的合法性,输出结果如下:
```
true
true
false
```
这段代码仅提供一种实现单点登录的思路,在实际项目中需要根据实际需求进行调整和完善。