概念理解

Session

Cookie

Token

P162

P165_简单加密

  1. 在html中添加一个”记住我”功能勾选框
  1. 打开SecurityConfig类,重写configure(HttpSecurity http)方法进行记住我功能配置
    1. http.rememberMe()
    2. .rememberMeParameter("rememberme") //用http的remenberMe函数,连接前端页面的参数"rememberme"
    3. .tokenValiditySeconds(200); //设置token的有效时间

P166_持久化Token

理解

用户选择“记住我”成功登录后,Security会将Token进行持久化存储,同时将它们组合生成一个Cookie发送给客户端。 当用户再次访问系统时,首先检查客户端携带的Cookie里的Token是否与数据库中保存的一致,通过验证后自动登录,同时系统将重新生成一个Token替换原有的Token,然后将新的Cookie发送给客户端。如果Cookie中的Token不匹配数据库,很有可能用户的Cookie被盗用。如果盗用者使用数据库原有的Token进行登录之后会生成一个新的Token,用户在不知情时再次登录就会出现Token不匹配的情况。Spring Security发现Cookie可能被盗用,会删除数据库中与当前用户相关的所有Token记录,这样盗用者不能再次登录。

实操

mysql在之前的springbootdata数据库导入(建立)持久化存储的表

  1. create table persistent_logins (
  2. username varchar(64) not null,
  3. series varchar(64) primary key,
  4. token varchar(64) not null,
  5. last_used timestamp not null);

@autowire
datasourse

P224_博客案例

依赖
druid连接池
mybaits(不能用)要改MyBaitsPlus
mysql数据库(或driver),UserDetail完成登录
redis
mail(发送邮件)
thymeleaf(可以直接用前端文件)
security权限
web网页
pagehelper分页(第三方分页)
devtools热部署

6月24日-7月1日
每个人负责不同的模块
——模块,

article包下dao(增删查改)、domain、service、controller、config

根据数据库字段写实体类
dao层写增删查改、分页功能
p232,p233,Service业务逻辑实现