方式一
- 导入spring相关的依赖
- 登录页面中的记住我的代码里的name值一定要是remember-me,value值可以是true、on、1都可以
<div class="form-group">
<label for="remember-me">是否记住</label>
<input type="checkbox" name="remember-me" value="true"/> Remember me
</div>
- 开启remberme 的过滤器,设置token的存在时间(单位:秒),在<security:http />标签中加
<security:remember-me token-validity-seconds="60"/>
方式二(持久化remember-me信息)
- 创建表(表名字段名都要求一致)
create table persistent_logins(
username varchar(64) not null,
series varchar(64) not null,
token varchar(64) not null,
last_used timestamp not null,
primary key(series)
)ENGINE=InnoDB DEFAULT CHARSET=utf8
2.这里的数据源是spring的配置文件里所配置了的
<security:remember-me
data-source-ref="dataSource"
token-validity-seconds="60"/>
显示当前用户名
若是后端想要知道当前通过认证的用户名,可以利用以下代码实现
//从后台获取当前获取到的通过认证的用户
String name = SecurityContextHolder.getContext().getAuthentication().getName();
System.out.println(name);
若是前台页面想要展示当前的用户名,则可以在前端页面上加入以下代码
首先是加入头标签
<%@taglib uri="http://www.springframework.org/security/tags" prefix="security"%>
然后在想要显示用户名的区域加入以下代码:
<security:authentication property="principal.username"/>