所属模块: core 模块
server:
port: 9090
spring:
profiles:
active: dev
# mysql
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ums?useSSL=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username: root
password: 123456
# thymeleaf
thymeleaf:
encoding: utf-8
prefix: classpath:/templates/
suffix: .htm
servlet:
content-type: text/html;charset=UTF-8
# jackson
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
# session 简单配置
session:
# session 存储模式设置, 要导入相应的 spring-session 类的依赖, 默认为 none, 分布式服务应用把 session 放入 redis 等中间件
store-type: none
# session 过期时间
timeout: PT300s
# security:
# oauth2:
# resourceserver:
# jwt:
# public-key-location: classpath:key.pub
# jws-algorithm: RS256
ums:
jwt:
enable: false
oauth:
# 是否支持第三方授权登录功能, 默认: 空, 必须明确配置是否支持
enabled: false
one-click-login:
# 一键登录是否开启, 默认 false
enable: true
# 一键登录请求处理 url, 默认 /authentication/one-click
login-processing-url: /authentication/one-click
# token 参数名称, 默认: accessToken
token-param-name: accessToken
# 其他请求参数名称列表(包括请求头名称), 此参数会传递到 OneClickLoginService.callback(String, Map)
# 与 UserDetailsRegisterService.registerUser(String, Map); 默认为: 空
other-param-names:
- imei
# RBAC 权限访问控制
rbac:
# ========= 放行权限 ==========
# 权限表达式, 当 enableRestfulApi=true 且没有 @EnableGlobalMethodSecurity 注释时生效, 默认为 hasPermission(request, authentication).
# hasPermission 表达式默认实现为 UriAuthoritiesPermissionEvaluator, 想自定义逻辑, 实现 PermissionEvaluator 即可替换.
# String accessExp = "hasPermission(request, authentication)";
# // 配置等效与
# httpSecurity.authorizeRequests().anyRequest().access(hasPermission(request, authentication));
restful-access-exp: permitAll()
# 是否支持 restful Api (前后端交互接口的风格; 如: 查询(GET),添加(POST),修改(PUT),删除(DELETE)), 默认: true.
# 当 {@code enableRestfulApi=false} 时 {@code accessExp} 权限表达式生效,
# 当 {@code enableRestfulApi=true} 时 {@code restfulAccessExp} 权限表达式生效.
enable-restful-api: true
client:
# 设置登录后返回格式(REDIRECT 与 JSON): 默认 JSON
login-process-type: json
# 一级域名(不包括二级域名) 例如:
# domain: www.example.com -> topDomain: example.com
# domain: www.example.com.cn -> topDomain: example.com.cn
# domain: aaa.bbb.example.net -> topDomain: example.net
# 测试时用的 IP 或 localhost 直接原样设置就行.
# 在应用启动时通过 SecurityAutoConfiguration 自动注入 MvcUtil 字段 topDomain 中. 如在设置跨域 cookie 时可以通过 MvcUtil.getTopDomain() 方法获取.
topDomain: localhost
# 登录页(必须自己实现)
login-page: /login
# 登录失败页(必须自己实现)
failure-url: /login
# 登录成功页(必须自己实现)
success-url: /
# 设置登出 url, 默认为 /logout
logout-url: /logout
# 设置登出后跳转的 url(必须自己实现), 默认为 /login
logout-success-url: /login
# 不需要认证的静态资源 urls, 例如: /resources/**, /static/**
ignoring-urls:
- /static/**
# 设置登录时用户名的 request 参数名称, 默认为 username
usernameParameter: username
# 设置登录时用户密码的 request 参数名称, 默认为 password
passwordParameter: password
permit-urls:
- /me2:GET
session:
# 无效 session 处理请求的方式: true 表示创建新的 session 并转发, false 表示重定向(invalidSessionUrl). 默认: true
# 注意: 必须手动配置属性, InvalidSessionStrategy 依赖此配置加载.
forward-or-redirect: true
# 验证码配置
# 同一个 uri 由多种验证码同时配置, **优先级**如下:
# `SMS > CUSTOMIZE > SELECTION > TRACK > SLIDER > IMAGE`
codes:
# 图片验证码
image:
# 设置需要图片验证码认证的 uri(必须是非 GET 请求),多个 uri 用 “-” 或 ","号分开支持通配符,如:/hello,/user/*;默认为 /authentication/form
auth-urls:
- /authentication/form
request-param-image-code-name: imageCode
# 短信验证码
sms:
# 设置需要短信验证码认证的 uri(必须是非 GET 请求),多个 uri 用 “,”号分开支持通配符,如:/hello,/user/*;默认为 /authentication/form
auth-urls:
- /authentication/mobile
request-param-mobile-name: mobile
request-param-sms-code-name: smsCode
# ================ 手机登录配置 ================
mobile:
login:
# 手机验证码登录是否开启, 默认 false,
# 手机验证码登录开启后 必须配置 ums.codes.sms.auth-urls=/authentication/mobile
sms-code-login-is-open: true
# 手机验证码登录请求处理url, 默认 /authentication/mobile
login-processing-url-mobile: /authentication/mobile
---
spring:
profiles: dev
mvc:
throw-exception-if-no-handler-found: true
server:
servlet:
context-path: /demo
logging:
config: classpath:logback-spring.xml
#debug: true
详细配置(Detailed configuration): demo 模块 -> basic-detail-example
server:
port: 9090
spring:
profiles:
active: dev
# mysql
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ums?useSSL=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username: root
password: 123456
# thymeleaf
thymeleaf:
encoding: utf-8
prefix: classpath:/templates/
suffix: .htm
servlet:
content-type: text/html;charset=UTF-8
# jackson
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
ums:
oauth:
# 是否支持第三方授权登录功能, 默认: 空, 必须明确配置是否支持
enabled: false
# RBAC 权限访问控制
rbac:
# ========= 放行权限 ==========
# 权限表达式, 当 enableRestfulApi=true 且没有 @EnableGlobalMethodSecurity 注释时生效, 默认为 hasPermission(request, authentication).
# hasPermission 表达式默认实现为 UriAuthoritiesPermissionEvaluator, 想自定义逻辑, 实现 PermissionEvaluator 即可替换.
# String accessExp = "hasPermission(request, authentication)";
# // 配置等效与
# httpSecurity.authorizeRequests().anyRequest().access(hasPermission(request, authentication));
restful-access-exp: permitAll()
# 是否支持 restful Api (前后端交互接口的风格; 如: 查询(GET),添加(POST),修改(PUT),删除(DELETE)), 默认: true.
# 当 {@code enableRestfulApi=false} 时 {@code accessExp} 权限表达式生效,
# 当 {@code enableRestfulApi=true} 时 {@code restfulAccessExp} 权限表达式生效.
enable-restful-api: true
client:
# 登录页(必须自己实现)
login-page: /login
# 登录失败页(必须自己实现)
failure-url: /login
# 设置登录后返回格式(REDIRECT 与 JSON): 默认 JSON
login-process-type: redirect
# 设置处理登录表单的 uri,不需要用户实现此 uri,由 Spring security 自动实现, 默认为 /authentication/form
login-processing-url: /authentication/form
# 登录成功页(必须自己实现)
success-url: /
# 登录后是否总是使用默认的 successUrl 进行跳转, 默认为: false
always-use-default-target-url: false
# 设置登出 url, 默认为 /logout
logout-url: /logout
# 设置登出后跳转的 url(必须自己实现), 默认为 /login
logout-success-url: /login
# 设置登录时用户名的 request 参数名称, 默认为 username
usernameParameter: username
# 设置登录时用户密码的 request 参数名称, 默认为 password
passwordParameter: password
# 登录后是否利用 Referer 进行跳转, 默认为: true
useReferer: true
# 设置由客户端决定认证成功要跳转的 url 的 request 参数名称, 默认为 redirectTargetUrl
targetUrlParameter: redirectTargetUrl
# 是否开启根据不同的uri跳转到相对应的登录页, 默认为: false, 当为 true 时还需要配置 loginUnAuthenticationRoutingUrl 和 authRedirectSuffixCondition
open-authentication-redirect: true
# 当请求需要身份认证时,默认跳转的url 会根据 authJumpSuffixCondition 条件判断的认证处理类型的 url,默认实现 /authentication/require,
# 当 openAuthenticationRedirect = true 时生效.
login-un-authentication-routing-url: /authentication/require
# 设置 uri 相对应的跳转登录页, 例如:key=/**: value=/login.html, 用等号隔开key与value, 如: /**=/login.html, 默认为空.
# 当 openAuthenticationRedirect = true 时生效.
# 支持通配符, 匹配规则: /user/aa/bb/cc.html 匹配 pattern:/us?r/**/*.html, /user/**, /user/*/bb/c?.html, /user/**/*.*.
# 规则具体看 AntPathMatcher.match(pattern, path)
auth-redirect-suffix-condition:
- '/hello=/login2'
- '/user/**=/login'
- '/order/**=/login'
- '/file/**=/login'
- '/social/**=/signIn.html'
# 不需要认证的静态资源 urls, 例如: /resources/**, /static/**
ignoring-urls:
- /static/**
# 不需要认证的 uri(可以带 HttpMethod 后缀; 用:隔开), 例如: /user/** 或 /user/**:post, 默认为 空 Set.
permit-urls:
- /**/*.html:GET
- /me:GET
---
spring:
profiles: dev
mvc:
throw-exception-if-no-handler-found: true
debug: true