create table User (
ID int primary key identity(1,1),
Username text,
FullName text,
PasswordHash text,
PasswordSalt text,
IsDisabled bool
)
create table UserSession (
SessionKey text primary key,
UserID int not null, -- Could have a hard "references User"
LoginTime <time type> not null,
LastSeenTime <time type> not null
)
2018年回答这个问题。我建议使用JWT(JSON Web Token)。你标记解决的答案有缺点,这是它做了前(用户)和后(服务器/db)的旅行。更糟糕的是,如果用户频繁请求需要认证,将导致从/到服务器和数据库的请求膨胀。为了解决这个问题,使用JWT将令牌存储在用户端,用户可以在任何需要访问/请求的时候使用它。不需要访问数据库和服务器处理来检查令牌有效性,只需很短的时间。