java - java中如何检查token是否过期?

标签 java hibernate jpa

我的用户有:id、用户名、密码、 token 过期日期。当我生成 token 时,我生成一个字符串,如何检查 token 是否未过期?

最佳答案

java.time

请使用 java.time(现代 Java 日期和时间 API)来进行日期和时间工作。

public class User {
    private String username;
    private String password;
    private Instant tokenExpires;
    
    // constructor, getters, setters
    
    public boolean isTokenExpired() {
        return ! Instant.now().isBefore(tokenExpires);
    }
    
}

Date 的现代替代品是 Instant。这是一个时间点。

如果您无法更改 User 类并且 getTokenExpires() 返回老式的 Date 对象:

    Instant tokenExpires = yourUser.getTokenExpires().toInstant();
    if (Instant.now().isBefore(tokenExpires)) {
        System.out.println("Token has not expired");
    } else {
        System.out.println("Token has expired");
    }

链接: Oracle tutorial: Date Time解释如何使用 java.time。

关于java - java中如何检查token是否过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61062003/

相关文章:

spring - 在 Spring 中使用多个数据源

java - Selenium 页面对象抛出 InvoicetargetException

java - 有人能想出一种方法来重构它以避免重复的代码吗?

mysql - Spring mvc + hibernate + 列表中的 IN 子句

java - Hibernate父子关联

java - 如何直接通过JQL找到多对多实体的交集?

java - 使用方法创建多个具有不同行为的 AlertDialog

java - json-Java中简单的utf-8解析

mysql - 如何查询带有可能未输入参数的对象列表?

java - 无法让 Bitronix 管理 Spring Boot 项目中的数据源/事务