SpringSecurity
https://www.cnblogs.com/SjhCode/p/SpringSecurity.html
permitAll():无条件允许任何形式访问,不管你登录还是没有登录。anonymous():允许匿名访问,也就是没有登录才可以访问。denyAll():无条件决绝任何形式的访问。authenticated():只允许已认证的用户访问。fullyAuthenticated():只允许已经登录或者通过 remember-me 登录的用户访问。hasRole(String): 只允许指定的角色访问。hasAnyRole(String): 指定一个或者多个角色,满足其一的用户即可访问。hasAuthority(String):只允许具有指定权限的用户访问hasAnyAuthority(String):指定一个或者多个权限,满足其一的用户即可访问。hasIpAddress(String): 只允许指定 ip 的用户访问
Spring Security 中的 hasRole 和 hasAuthority 有区别吗?https://mp.weixin.qq.com/s/GTNOa2k9_n_H0w24upClRw
Spring Security 提供了多种加密算法的实现,开箱即用,非常方便。这些加密算法实现类的父类是 PasswordEncoder ,如果你想要自己实现一个加密算法的话,也需要继承 PasswordEncoder。
public interface PasswordEncoder {
// 加密也就是对原始密码进行编码
String encode(CharSequence var1);
// 比对原始密码和数据库中保存的密码
boolean matches(CharSequence var1, String var2);
// 判断加密密码是否需要再次进行加密,默认返回 false
default boolean upgradeEncoding(String encodedPassword) {
return false;
}
}
用来模拟一个一个真实用户,并且可以赋予权限。
@WithMockUser(username = "user-id-18163138155", authorities = "ROLE_TEACHER")
浙公网安备 33010602011771号