SpringBoot+SpringSecurity+Angular6简单的登录控制权限控制Demo(一)
SpringBoot+SpringSecurity+Angular6简单的登录控制权限控制Demo(一)
公司下个项目要用Angular6,虽然我是个javaer但还是需要学习一下的。下面记录一下自己学习的历程也给新手同学提供一些参考,不过本人水平有限其中难免有谬误,还请大佬们指正。
一、 SpringBoot+Jpa+SpringSecurity后端编写
作为一个简单的demo,其实用内存存用户就行了,但总感觉那样太敷衍,所以就加上mysql吧。那么持久层框架怎么选呢,对于简单项目,mybatis就要比jpa要重了,所以demo中采用的持久层框架是jpa,省时省力。
1.一个简单的数据库
jpa自动生成的没什么好说的,就是用户和角色的多对多关系
2.项目结构及配置
项目的springboot版本是2.0.7
pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zzuser</groupId>
<artifactId>security-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>security-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--简化getter,setter的插件,不喜欢的可以去掉自己写getter,setter -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
springboot配置
server:
port: 8080 # 服务器端口
spring:
application:
name: security-demo # 应用名称
# 数据源
datasource:
username: root
password: root