Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
youlai-mall
提交
fec9a118
Y
youlai-mall
项目概览
有来技术
/
youlai-mall
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
youlai-mall
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
fec9a118
编写于
6月 24, 2020
作者:
X
XCZTH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
工程改造
上级
9780054e
变更
22
显示空白变更内容
内联
并排
Showing
22 changed file
with
686 addition
and
0 deletion
+686
-0
youlai-auth/pom.xml
youlai-auth/pom.xml
+111
-0
youlai-auth/src/main/java/com/youlai/mall/auth/AuthApplication.java
...h/src/main/java/com/youlai/mall/auth/AuthApplication.java
+15
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/AuthorizationServerConfig.java
...om/youlai/mall/auth/config/AuthorizationServerConfig.java
+83
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/CorsConfig.java
...src/main/java/com/youlai/mall/auth/config/CorsConfig.java
+27
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/DruidConfig.java
...rc/main/java/com/youlai/mall/auth/config/DruidConfig.java
+16
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/ResourceServerConfig.java
...ava/com/youlai/mall/auth/config/ResourceServerConfig.java
+28
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/WebSecurityConfig.java
...n/java/com/youlai/mall/auth/config/WebSecurityConfig.java
+59
-0
youlai-auth/src/main/java/com/youlai/mall/auth/config/service/UserDetailsServiceImpl.java
...ulai/mall/auth/config/service/UserDetailsServiceImpl.java
+52
-0
youlai-auth/src/main/java/com/youlai/mall/auth/controller/TokenController.java
...java/com/youlai/mall/auth/controller/TokenController.java
+47
-0
youlai-auth/src/main/java/com/youlai/mall/auth/entity/SysPermission.java
.../main/java/com/youlai/mall/auth/entity/SysPermission.java
+17
-0
youlai-auth/src/main/java/com/youlai/mall/auth/entity/SysUser.java
...th/src/main/java/com/youlai/mall/auth/entity/SysUser.java
+28
-0
youlai-auth/src/main/java/com/youlai/mall/auth/mapper/SysPermissionMapper.java
...java/com/youlai/mall/auth/mapper/SysPermissionMapper.java
+22
-0
youlai-auth/src/main/java/com/youlai/mall/auth/mapper/SysUserMapper.java
.../main/java/com/youlai/mall/auth/mapper/SysUserMapper.java
+11
-0
youlai-auth/src/main/java/com/youlai/mall/auth/service/ISysPermissionService.java
...a/com/youlai/mall/auth/service/ISysPermissionService.java
+10
-0
youlai-auth/src/main/java/com/youlai/mall/auth/service/ISysUserService.java
...in/java/com/youlai/mall/auth/service/ISysUserService.java
+8
-0
youlai-auth/src/main/java/com/youlai/mall/auth/service/impl/SysPermissionServiceImpl.java
...ulai/mall/auth/service/impl/SysPermissionServiceImpl.java
+17
-0
youlai-auth/src/main/java/com/youlai/mall/auth/service/impl/SysUserServiceImpl.java
...com/youlai/mall/auth/service/impl/SysUserServiceImpl.java
+18
-0
youlai-auth/src/main/resources/bootstrap.yml
youlai-auth/src/main/resources/bootstrap.yml
+9
-0
youlai-gateway/pom.xml
youlai-gateway/pom.xml
+85
-0
youlai-gateway/src/main/resources/bootstrap-dev.yml
youlai-gateway/src/main/resources/bootstrap-dev.yml
+7
-0
youlai-gateway/src/main/resources/bootstrap-prod.yml
youlai-gateway/src/main/resources/bootstrap-prod.yml
+7
-0
youlai-gateway/src/main/resources/bootstrap.yml
youlai-gateway/src/main/resources/bootstrap.yml
+9
-0
未找到文件。
youlai-auth/pom.xml
0 → 100644
浏览文件 @
fec9a118
<?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"
>
<parent>
<artifactId>
youlai-mall
</artifactId>
<groupId>
com.youlai
</groupId>
<version>
1.0.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
youlai-mall-auth
</artifactId>
<dependencies>
<dependency>
<groupId>
com.fly4j
</groupId>
<artifactId>
yshop-common-db
</artifactId>
<version>
${yshop.version}
</version>
</dependency>
<dependency>
<groupId>
com.fly4j
</groupId>
<artifactId>
yshop-common-core
</artifactId>
<version>
${yshop.version}
</version>
</dependency>
<!-- Spring Cloud Eureka -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-server
</artifactId>
</dependency>
<!-- Spring Cloud Security Oauth2 -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-oauth2
</artifactId>
</dependency>
<!-- Spring Cloud Config -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-config
</artifactId>
</dependency>
<!-- spring boot web -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
com.spotify
</groupId>
<artifactId>
docker-maven-plugin
</artifactId>
<version>
1.0.0
</version>
<executions>
<!--执行mvn package,即执行 mvn clean package docker:build-->
<!--<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>-->
</executions>
<configuration>
<!-- 镜像名称 -->
<imageName>
${docker.image.prefix}/${project.artifactId}
</imageName>
<!-- 指定标签 -->
<imageTags>
<imageTag>
latest
</imageTag>
</imageTags>
<!-- 基础镜像jdk1.8 -->
<baseImage>
java
</baseImage>
<!-- 制作者信息 -->
<maintainer>
${docker.image.prefix}
</maintainer>
<!-- 切换到工作目录-->
<workdir>
/ROOT
</workdir>
<!--<cmd>["java","-version"]</cmd>-->
<entryPoint>
["java","-Djava.security.egd=file:/dev/./urandom","-jar","${project.build.finalName}.jar"]
</entryPoint>
<!-- 指定远程 docker api地址 -->
<dockerHost>
https://fly4j:2376
</dockerHost>
<dockerCertPath>
C:\certs\docker\fly4j
</dockerCertPath>
<!-- 复制 jar包到docker容器指定目录-->
<resources>
<resource>
<targetPath>
/ROOT
</targetPath>
<!-- 用于指定需要复制的根目录,${project.build.directory}表示target目录 -->
<directory>
${project.build.directory}
</directory>
<!-- 用于指定需要复制的文件,${project.build.finalName}.jar就是打包后的target目录下的jar包名称 -->
<include>
${project.build.finalName}.jar
</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
youlai-auth/src/main/java/com/youlai/mall/auth/AuthApplication.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
})
@EnableDiscoveryClient
public
class
AuthApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
AuthApplication
.
class
,
args
);
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/config/AuthorizationServerConfig.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config
;
import
com.alibaba.druid.pool.DruidDataSource
;
import
com.netflix.discovery.converters.Auto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurer
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer
;
import
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer
;
import
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer
;
import
org.springframework.security.oauth2.provider.ClientDetailsService
;
import
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService
;
import
org.springframework.security.oauth2.provider.token.DefaultTokenServices
;
import
org.springframework.security.oauth2.provider.token.TokenStore
;
import
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore
;
import
javax.sql.DataSource
;
@Configuration
@EnableAuthorizationServer
public
class
AuthorizationServerConfig
implements
AuthorizationServerConfigurer
{
@Autowired
private
UserDetailsService
userDetailsService
;
@Autowired
private
AuthenticationManager
authenticationManager
;
@Autowired
private
DataSource
dataSource
;
@Bean
public
TokenStore
jdbcTokenStore
()
{
return
new
JdbcTokenStore
(
dataSource
);
}
@Bean
public
ClientDetailsService
clientDetailsService
()
{
return
new
JdbcClientDetailsService
(
dataSource
);
}
@Override
public
void
configure
(
ClientDetailsServiceConfigurer
clients
)
throws
Exception
{
clients
.
withClientDetails
(
clientDetailsService
());
}
@Override
public
void
configure
(
AuthorizationServerEndpointsConfigurer
endpoints
)
throws
Exception
{
endpoints
.
tokenStore
(
jdbcTokenStore
())
.
userDetailsService
(
userDetailsService
)
.
authenticationManager
(
authenticationManager
);
endpoints
.
tokenServices
(
defaultTokenServices
());
}
@Primary
@Bean
public
DefaultTokenServices
defaultTokenServices
(){
DefaultTokenServices
tokenServices
=
new
DefaultTokenServices
();
tokenServices
.
setTokenStore
(
jdbcTokenStore
());
tokenServices
.
setSupportRefreshToken
(
true
);
// token有效期自定义设置,默认12小时
tokenServices
.
setAccessTokenValiditySeconds
(
60
*
60
*
12
);
// refresh_token默认30天
tokenServices
.
setRefreshTokenValiditySeconds
(
60
*
60
*
24
*
7
);
return
tokenServices
;
}
@Override
public
void
configure
(
AuthorizationServerSecurityConfigurer
security
)
throws
Exception
{
security
.
allowFormAuthenticationForClients
()
.
tokenKeyAccess
(
"permitAll()"
)
// oauth/token_key公开
.
checkTokenAccess
(
"permitAll()"
);
// oauth/check_token公开
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/config/CorsConfig.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.Ordered
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
@Configuration
@Order
(
Ordered
.
HIGHEST_PRECEDENCE
)
public
class
CorsConfig
{
@Bean
public
CorsFilter
corsFilter
()
{
final
UrlBasedCorsConfigurationSource
urlBasedCorsConfigurationSource
=
new
UrlBasedCorsConfigurationSource
();
final
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
corsConfiguration
.
setAllowCredentials
(
true
);
corsConfiguration
.
addAllowedOrigin
(
"*"
);
corsConfiguration
.
addAllowedHeader
(
"*"
);
corsConfiguration
.
addAllowedMethod
(
"*"
);
urlBasedCorsConfigurationSource
.
registerCorsConfiguration
(
"/**"
,
corsConfiguration
);
return
new
CorsFilter
(
urlBasedCorsConfigurationSource
);
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/config/DruidConfig.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config
;
import
com.alibaba.druid.pool.DruidDataSource
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
javax.sql.DataSource
;
public
class
DruidConfig
{
@ConfigurationProperties
(
prefix
=
"spring.datasource"
)
@Bean
public
DataSource
druidDataSource
()
{
return
new
DruidDataSource
();
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/config/ResourceServerConfig.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter
;
@Configuration
@EnableResourceServer
@EnableGlobalMethodSecurity
(
prePostEnabled
=
true
,
securedEnabled
=
true
,
jsr250Enabled
=
true
)
public
class
ResourceServerConfig
extends
ResourceServerConfigurerAdapter
{
@Override
public
void
configure
(
HttpSecurity
http
)
throws
Exception
{
http
//允许使用iframe 嵌套,避免swagger-ui 不被加载的问题
.
headers
()
.
frameOptions
().
disable
()
.
and
()
.
authorizeRequests
()
.
antMatchers
(
HttpMethod
.
GET
,
"/user/**"
).
permitAll
()
.
anyRequest
().
authenticated
()
.
and
()
.
csrf
().
disable
();
}
}
\ No newline at end of file
youlai-auth/src/main/java/com/youlai/mall/auth/config/WebSecurityConfig.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config
;
import
com.youlai.mall.auth.config.service.UserDetailsServiceImpl
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
;
import
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
;
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.core.userdetails.UserDetailsService
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity
(
prePostEnabled
=
true
,
securedEnabled
=
true
,
jsr250Enabled
=
true
)
@Order
(-
1
)
public
class
WebSecurityConfig
extends
WebSecurityConfigurerAdapter
{
@Bean
public
BCryptPasswordEncoder
passwordEncoder
(){
return
new
BCryptPasswordEncoder
();
}
@Bean
@Override
protected
AuthenticationManager
authenticationManager
()
throws
Exception
{
return
super
.
authenticationManager
();
}
@Bean
@Override
public
UserDetailsService
userDetailsService
()
{
return
new
UserDetailsServiceImpl
();
}
@Override
protected
void
configure
(
AuthenticationManagerBuilder
auth
)
throws
Exception
{
auth
.
userDetailsService
(
userDetailsService
());
}
@Override
protected
void
configure
(
HttpSecurity
http
)
throws
Exception
{
http
.
requestMatchers
()
.
antMatchers
(
HttpMethod
.
OPTIONS
,
"/oauth/token"
)
.
and
()
.
cors
()
.
and
()
.
csrf
()
.
disable
()
.
authorizeRequests
().
anyRequest
().
authenticated
()
.
and
().
csrf
().
disable
();
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/config/service/UserDetailsServiceImpl.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.config.service
;
import
com.youlai.mall.auth.entity.SysPermission
;
import
com.youlai.mall.auth.entity.SysUser
;
import
com.youlai.mall.auth.service.ISysPermissionService
;
import
com.youlai.mall.auth.service.ISysUserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.authority.SimpleGrantedAuthority
;
import
org.springframework.security.core.userdetails.User
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 自定义用户认证和授权
*/
@Service
public
class
UserDetailsServiceImpl
implements
UserDetailsService
{
@Autowired
private
ISysUserService
iSysUserService
;
@Autowired
private
ISysPermissionService
iSysPermissionService
;
@Override
public
UserDetails
loadUserByUsername
(
String
username
)
throws
UsernameNotFoundException
{
SysUser
sysUser
=
iSysUserService
.
getByUserName
(
username
);
List
<
GrantedAuthority
>
grantedAuthorities
=
new
ArrayList
<>();
if
(
sysUser
!=
null
)
{
List
<
SysPermission
>
permissions
=
iSysPermissionService
.
getByUserId
(
sysUser
.
getUserId
());
if
(
permissions
!=
null
){
List
<
String
>
perms
=
permissions
.
stream
().
map
(
item
->
item
.
getPerms
()).
collect
(
Collectors
.
toList
());
perms
.
forEach
(
perm
->{
grantedAuthorities
.
add
(
new
SimpleGrantedAuthority
(
perm
));
});
}
}
return
new
User
(
sysUser
.
getUserName
(),
sysUser
.
getPassword
(),
true
,
true
,
true
,
true
,
grantedAuthorities
);
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/controller/TokenController.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.controller
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.api.R
;
import
com.youlai.mall.auth.entity.SysUser
;
import
com.youlai.mall.auth.service.ISysUserService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.security.oauth2.common.OAuth2AccessToken
;
import
org.springframework.security.oauth2.provider.token.TokenStore
;
import
org.springframework.web.bind.annotation.*
;
import
java.security.Principal
;
@RestController
@RequestMapping
(
"/user"
)
public
class
TokenController
{
@Autowired
private
TokenStore
jdbcTokenStore
;
@Autowired
private
ISysUserService
iSysUserService
;
@GetMapping
(
"/current"
)
public
R
<
SysUser
>
current
(
Principal
principal
)
{
String
username
=
principal
.
getName
();
SysUser
user
=
iSysUserService
.
getOne
(
new
LambdaQueryWrapper
<
SysUser
>().
eq
(
SysUser:
:
getUserName
,
username
));
return
R
.
ok
(
user
);
}
@DeleteMapping
(
"/logout"
)
public
R
logout
(
@RequestHeader
(
value
=
HttpHeaders
.
AUTHORIZATION
,
required
=
false
)
String
authHeader
)
{
if
(
StringUtils
.
isBlank
(
authHeader
))
{
return
R
.
failed
(
""
);
}
String
tokenValue
=
authHeader
.
replace
(
OAuth2AccessToken
.
BEARER_TYPE
.
toLowerCase
(),
""
).
trim
();
OAuth2AccessToken
oAuth2AccessToken
=
jdbcTokenStore
.
readAccessToken
(
tokenValue
);
if
(
oAuth2AccessToken
==
null
||
StringUtils
.
isBlank
(
oAuth2AccessToken
.
getValue
()))
{
return
R
.
failed
(
""
);
}
jdbcTokenStore
.
removeAccessToken
(
oAuth2AccessToken
);
return
R
.
ok
(
null
);
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/entity/SysPermission.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.entity
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Data
@TableName
(
"sys_permission"
)
@Accessors
(
chain
=
true
)
public
class
SysPermission
{
@TableId
private
Long
permissionId
;
private
String
permissionName
;
private
String
perms
;
}
youlai-auth/src/main/java/com/youlai/mall/auth/entity/SysUser.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.entity
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Data
@TableName
(
"sys_user"
)
@Accessors
(
chain
=
true
)
public
class
SysUser
extends
BaseEntity
{
@TableId
private
Long
userId
;
private
String
userName
;
private
String
nickName
;
private
Integer
sex
;
private
String
password
;
private
String
salt
;
private
Long
deptId
;
private
String
delFlag
;
private
Integer
status
;
private
String
avatarUrl
;
private
String
tel
;
private
String
email
;
}
youlai-auth/src/main/java/com/youlai/mall/auth/mapper/SysPermissionMapper.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.youlai.mall.auth.entity.SysPermission
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
public
interface
SysPermissionMapper
extends
BaseMapper
<
SysPermission
>
{
@Select
(
"SELECT e.permission_id,e.permission_name, e.perms "
+
" FROM sys_user a "
+
" INNER JOIN sys_user_role b ON b.user_id = a.user_id "
+
" INNER JOIN sys_role c ON c.role_id = b.role_id "
+
" INNER JOIN sys_role_permission d ON d.role_id = c.role_id "
+
" INNER JOIN sys_permission e ON e.permission_id = d.permission_id "
+
" WHERE a.user_id =#{userId}"
)
List
<
SysPermission
>
selectByUserId
(
Long
userId
);
}
youlai-auth/src/main/java/com/youlai/mall/auth/mapper/SysUserMapper.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.youlai.mall.auth.entity.SysUser
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
SysUserMapper
extends
BaseMapper
<
SysUser
>
{
}
youlai-auth/src/main/java/com/youlai/mall/auth/service/ISysPermissionService.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.youlai.mall.auth.entity.SysPermission
;
import
java.util.List
;
public
interface
ISysPermissionService
extends
IService
<
SysPermission
>
{
List
<
SysPermission
>
getByUserId
(
Long
userId
);
}
youlai-auth/src/main/java/com/youlai/mall/auth/service/ISysUserService.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.youlai.mall.auth.entity.SysUser
;
public
interface
ISysUserService
extends
IService
<
SysUser
>
{
SysUser
getByUserName
(
String
username
);
}
youlai-auth/src/main/java/com/youlai/mall/auth/service/impl/SysPermissionServiceImpl.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.service.impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.youlai.mall.auth.entity.SysPermission
;
import
com.youlai.mall.auth.mapper.SysPermissionMapper
;
import
com.youlai.mall.auth.service.ISysPermissionService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
SysPermissionServiceImpl
extends
ServiceImpl
<
SysPermissionMapper
,
SysPermission
>
implements
ISysPermissionService
{
@Override
public
List
<
SysPermission
>
getByUserId
(
Long
userId
)
{
return
this
.
baseMapper
.
selectByUserId
(
userId
);
}
}
youlai-auth/src/main/java/com/youlai/mall/auth/service/impl/SysUserServiceImpl.java
0 → 100644
浏览文件 @
fec9a118
package
com.youlai.mall.auth.service.impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.youlai.mall.auth.entity.SysUser
;
import
com.youlai.mall.auth.mapper.SysUserMapper
;
import
com.youlai.mall.auth.service.ISysUserService
;
import
org.springframework.stereotype.Service
;
@Service
public
class
SysUserServiceImpl
extends
ServiceImpl
<
SysUserMapper
,
SysUser
>
implements
ISysUserService
{
@Override
public
SysUser
getByUserName
(
String
username
)
{
SysUser
sysUser
=
this
.
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>().
eq
(
SysUser:
:
getUserName
,
username
));
return
sysUser
;
}
}
youlai-auth/src/main/resources/bootstrap.yml
0 → 100644
浏览文件 @
fec9a118
spring
:
main
:
allow-bean-definition-overriding
:
true
application
:
name
:
yshop-auth
cloud
:
config
:
uri
:
http://101.37.69.49:8888
name
:
${spring.application.name}
youlai-gateway/pom.xml
0 → 100644
浏览文件 @
fec9a118
<?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"
>
<parent>
<artifactId>
yshop
</artifactId>
<groupId>
com.fly4j
</groupId>
<version>
1.0.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
yshop-gateway
</artifactId>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-server
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-zuul
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-config
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
com.spotify
</groupId>
<artifactId>
docker-maven-plugin
</artifactId>
<version>
1.0.0
</version>
<executions>
<!--执行mvn package,即执行 mvn clean package docker:build-->
<execution>
<id>
build-image
</id>
<phase>
package
</phase>
<goals>
<goal>
build
</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 镜像名称 -->
<imageName>
${docker.image.prefix}/${project.artifactId}
</imageName>
<!-- 指定标签 -->
<imageTags>
<imageTag>
latest
</imageTag>
</imageTags>
<!-- 基础镜像jdk1.8 -->
<baseImage>
java
</baseImage>
<!-- 制作者信息 -->
<maintainer>
${docker.image.prefix}
</maintainer>
<!-- 切换到工作目录-->
<workdir>
/ROOT
</workdir>
<!--<cmd>["java","-version"]</cmd>-->
<entryPoint>
["java","-Djava.security.egd=file:/dev/./urandom","-jar","${project.build.finalName}.jar"]
</entryPoint>
<!-- 指定远程 docker api地址 -->
<dockerHost>
https://fly4k:2376
</dockerHost>
<dockerCertPath>
C:\certs\docker\fly4k
</dockerCertPath>
<!-- 复制 jar包到docker容器指定目录-->
<resources>
<resource>
<targetPath>
/ROOT
</targetPath>
<!-- 用于指定需要复制的根目录,${project.build.directory}表示target目录 -->
<directory>
${project.build.directory}
</directory>
<!-- 用于指定需要复制的文件,${project.build.finalName}.jar就是打包后的target目录下的jar包名称 -->
<include>
${project.build.finalName}.jar
</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
youlai-gateway/src/main/resources/bootstrap-dev.yml
0 → 100644
浏览文件 @
fec9a118
spring
:
application
:
name
:
yshop-gateway
cloud
:
config
:
uri
:
http://localhost:8888
name
:
${spring.application.name}
youlai-gateway/src/main/resources/bootstrap-prod.yml
0 → 100644
浏览文件 @
fec9a118
spring
:
application
:
name
:
yshop-gateway
cloud
:
config
:
uri
:
http://101.37.69.49:8888
name
:
${spring.application.name}
youlai-gateway/src/main/resources/bootstrap.yml
0 → 100644
浏览文件 @
fec9a118
spring
:
application
:
name
:
yshop-gateway
cloud
:
config
:
uri
:
http://101.37.69.49:8888
name
:
${spring.application.name}
profiles
:
active
:
dev
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录