Yaml 使用Env变量的Spring云数据流的自定义范围
我试图在CloudFoundry上部署SpringCloudDataFlowServer,并使用角色映射将默认角色映射到我自己的作用域 为了做到这一点,我将遵循将映射oauth作用域设置为true的状态,然后所有7个Spring云数据流角色都应映射到作用域 我注意到您可以使用env对象下的manifest.yml配置上述属性,并对键进行一些修改。如本层次结构所述:Yaml 使用Env变量的Spring云数据流的自定义范围,yaml,spring-security-oauth2,spring-cloud-dataflow,scopes,Yaml,Spring Security Oauth2,Spring Cloud Dataflow,Scopes,我试图在CloudFoundry上部署SpringCloudDataFlowServer,并使用角色映射将默认角色映射到我自己的作用域 为了做到这一点,我将遵循将映射oauth作用域设置为true的状态,然后所有7个Spring云数据流角色都应映射到作用域 我注意到您可以使用env对象下的manifest.yml配置上述属性,并对键进行一些修改。如本层次结构所述: spring: cloud: dataflow: security: authorizati
spring:
cloud:
dataflow:
security:
authorization:
map-oauth-scopes: true
role-mappings:
ROLE_CREATE: dataflow.create
ROLE_DEPLOY: dataflow.deploy
ROLE_DESTROY: dataflow.destoy
ROLE_MANAGE: dataflow.manage
ROLE_MODIFY: dataflow.modify
ROLE_SCHEDULE: dataflow.schedule
ROLE_VIEW: dataflow.view
可以在manifest.yml中这样表示:
- env:
SPRING_CLOUD_DATAFLOW_SECURITY_AUTHORIZATION_MAP-OAUTH-SCOPES: true
SPRING_CLOUD_DATAFLOW_SECURITY_AUTHORIZATION_ROLE-MAPPINGS_ROLE_CREATE: <my-scope>
...
-env:
SPRING\u CLOUD\u DATAFLOW\u SECURITY\u AUTHORIZATION\u MAP-OAUTH-SCOPES:true
SPRING\云\数据流\安全\授权\角色映射\角色\创建:
...
映射oauth作用域已正确设置,但角色映射未正确设置。我怀疑is与角色前缀中的下划线有关(例如角色创建),因为env格式的“转换”需要下划线作为层次结构
我错过了什么?如何使用manifest.yml设置角色映射
提前谢谢 好的,所以不确定这是否是你应该怎么做的,不管它是如何工作和容易设置的 在manifest.yml中,添加一个SPRING\u APPLICATION\u JSON条目,并将映射作为JSON传递
applications:
- env:
...
SPRING_PROFILES_DEFAULT: cloud
SPRING_APPLICATION_JSON: |-
{
"spring.cloud.dataflow.security.authorization": {
"map-oauth-scopes": true,
"role-mappings": {
"ROLE_CREATE": "my.scope.for.create",
"ROLE_DEPLOY": "my.scope.for.deploy",
"ROLE_DESTROY": "my.scope.for.destroy",
"ROLE_MANAGE": "my.scope.for.manage",
"ROLE_MODIFY": "my.scope.for.modify",
"ROLE_SCHEDULE": "my.scope.for.schedule",
"ROLE_VIEW": "my.scope.for.view"
}
}
}
显然,所有角色的作用域可以相同,也可以因角色而异,这取决于业务逻辑。
仅确保使用具有范围的用户登录