Override 表示重写
HttpSecurity HTTP安全
authorizeRequests 授权请求
authorize formLogin 代表"http"
antMatchers 匹配URL
.permitAll()全部允许,允许没权限的人访问
.antMatchers("user/**") 前一个*表示文件名,后一个*表示后缀名,表示user文件下的所有文件
.hasRole("USER")只有USER用户才能访问
.formLogin()指定登录表单
.loginPage(/login)指向登录路径
.faklureUrl("/login-error")登录失败跳转到该页面
@Bean 实例化一个对象类型
UserDetails 访问者信息配置
.getAuthorities() 获取所有角色
.getPassword()获取单个用户密码
.getUsername()获取单个用户名称
.isAccountNonExpired()判断用户是否过期
.isAccountNonLocked()判断用户是否锁定
.isCredentialsMonExpired()判断凭证是否过期
.isEnabled()判断用户是启用还是禁用
ViewControllerRegistry 视图控制器注册
addViewController 添加视图控制器
registry.addViewController("/home").setViewName("home");
/home为请求路径 home对应视图文件
<div th:if="${param.error}"><!-- param为内置对象,表示参数,error自定义参数名 -->
<!-- ${#httpServletRequest.remoteUser} 获取用户名 -->
authorizeRequests() 验证请求
anyRequest()其他请求
authenticated()// 其它资源要身份认证
.and()代表httpd
.defaultSuccessUrl("/hello")// 登录成功后跳转到/hello
.failureUrl("/login")// 登录失败再跳转到登录页面
.permitAll()// 登录页面放行 退出页面方向 放行 .and后面
encoder.mathes(明文,密文) 检查密码是否匹配,明文和密码是否匹配
Repositories 储存库
日志导包
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Spring 核心是 Spring bean 和Spring context
thymeleaf
sec:authorize="isAuthenticated()" 看是否已经验证过
sec:authentication="name" 显示登陆者用户名
sec:authentication="principal.authorities" 显示登陆者角色