1.方便测试功能时,关闭登陆功能
2.新建三张表 用户表 角色表 用户角色关系表
enabled表示用户是否过期,locked表示用户是否被锁
这里密码是明文的,不正确。后面有加密的办法
3.创建实体类
public class User implements UserDetails {
private Integer userId;
private String username;
private String password;
private Boolean enabled;
private Boolean locked;
private List<Role> roles;
/*
* 获取当前用户对象具有的角色信息
* */
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
List<SimpleGrantedAuthority> authorities = new ArrayList<>();
for (Role role : roles){
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
return authorities;
}
/*
* 获取当前用户的密码
* */
@Override
public String getPassword() {
return password;
}
/*
* 获取当前用户的用户名
* */
@Override
public String getUsername() {
return username;
}
/*
* 当前用户是否未过期
* */
@Override
public boolean isAccountNonExpired() {
return true;
}
/*
* 当前用户是否未锁定
* */
@Override
public boolean isAccountNonLocked() {
return !locked;
}
/*
* 当前账户密码是否未过期
* */
@Override
public boolean isCredentialsNonExpired() {
return true;
}
/*
* 当前账户是否可用
* */
@Override
public boolean isEnabled() {
return enabled;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public Boolean getLocked() {
return locked;
}
public void setLocked(Boolean locked) {
this.locked = locked;
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
}
4.注册Dao编写
这里注意一下:
mapper的xml中, 不需要(也不能)给insert, update, delete指定resultType, 如这里所解释
http://mybatis.github.io/mybatis-3/sqlmap-xml.html
insert, update, delete只支持这些Attributes: id, parameterType, parameterMap, flushCache, timeout, statementType, useGeneratedKeys, keyProperty, keyColumn, databaseId
5.注册Service编写
6.注册控制层编写
7.如果出现403的情况
暂时将csrf关闭
版权声明:本文为Qin_xian_shen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。