首页定制
主要讲了通过
http.formLogin().loginPage("/toLogin");//没有权限会自动跳转到登录页面
可以定制登录页面,还可以通过这两个方法
.passwordParameter()
.usernameParameter()
来实现前端传过来参数的适配,写在授权方法中。
//授权
@Override
protected void configure(HttpSecurity http) throws Exception {
//首页所有人都可以访问,功能页只有拥有权限的人才可以访问,下面是链式编程
http.authorizeHttpRequests()
.antMatchers("/").permitAll()//全都可以访问
.antMatchers("/level1/**").hasRole("vip1")//需要一些角色可以访问
.antMatchers("/level2/**").hasRole("vip2")
.antMatchers("/level3/**").hasRole("vip3");
http.formLogin().loginPage("/toLogin");//没有权限会自动跳转到登录页面
http.logout().deleteCookies("remove").invalidateHttpSession(true);//开启了注销功能并删除cookies和session注销默认跳到登录页面
http.logout().logoutSuccessUrl("/");//登录成功默认跳到
http.rememberMe().rememberMeParameter("sbspringboot");//开启记住我功能cookie,
// 如果前端传过来的数据和源码里面的字段不匹配的话就可以使用rememberMeParameter来匹配前端传过来的字段;
}
记住我
通过在授权方法中书写
http.rememberMe().rememberMeParameter("sbspringboot");//开启记住我功能cookie,
开启记住我功能存储为cookie也可以通过参数和前端适配。
前端代码
<div class="field">
<input type="checkbox" name="sbspringboot"/>记住我
</div>
security功能很多尽量去花点时间去阅读源码。