spring security环境框架搭建
2021-06-04 06:04
阅读:670
YPE html>
标签:example rmi html man configure thymeleaf put contex dex
1,pom依赖导入
注:spring boot版本须使用2。1.0以下版本,此次使用2.0.9版本
org.springframework.boot
spring-boot-starter-security
org.thymeleaf.extras
thymeleaf-extras-springsecurity4
3.0.4.RELEASE
2,编写login.html
登录
登录
注册
Spring Security
3,首页,index.html
首页
Spring Security Study by 秦疆
Level 1
Level-1-1
Level-1-2
Level-1-3
Level 2
Level-2-1
Level-2-2
Level-2-3
Level 3
Level-3-1
Level-3-2
Level-3-3
4,页面跳转controller
package com.example.springsecurity.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RouterController {
@RequestMapping({"/","/index"})
public String index(){
return "index";
}
@RequestMapping("/toLogin")
public String toLogin(){
return "views/login";
}
@RequestMapping("/level1/{id}")
public String level1(@PathVariable("id") int id){
return "views/level1/"+id;
}
@RequestMapping("/level2/{id}")
public String level2(@PathVariable("id") int id){
return "views/level2/"+id;
}
@RequestMapping("/level3/{id}")
public String level3(@PathVariable("id") int id){
return "views/v/"+id;
}
}
5,securityConfig配置类编写
package com.example.springsecurity.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//AOP:拦截器
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
//首页所有人能访问,功能页只能有对应角色才能访问
http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/level1/**").hasRole("v1")
.antMatchers("/level2/**").hasRole("v2")
.antMatchers("/level3/**").hasRole("v3");
//没有权限会默认到登录页,需要开启登陆的页面 /login
//usernameParameter,passwordParameter:自定义前端接受参数
http.formLogin().loginPage("/toLogin").usernameParameter("").passwordParameter("");
//注销,跳到首页
http.csrf().disable();//关闭csrf,登陆失败的原因
http.logout().logoutSuccessUrl("/");
//自定义前端remember接受参数
http.rememberMe().rememberMeParameter("");
}
//认证
//密码编码:PasswordEncoder
//在spring security 5.0+新增了很多的加密方法
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//数据正常应该从数据库中读
auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())
.withUser("zhangsan").password(new BCryptPasswordEncoder().encode("123456")).roles("v2","v3")
.and()
.withUser("admin").password(new BCryptPasswordEncoder().encode("123456")).roles("v1","v2","v3");
}
}
spring security环境框架搭建
标签:example rmi html man configure thymeleaf put contex dex
原文地址:https://www.cnblogs.com/huang580256/p/14657404.html
下一篇:javaweb-AJAX
评论
亲,登录后才可以留言!