147 lines
No EOL
4.2 KiB
JSON
147 lines
No EOL
4.2 KiB
JSON
{
|
|
"allowRemoteResourceManagement": true,
|
|
"policyEnforcementMode": "ENFORCING",
|
|
"resources": [
|
|
{
|
|
"name": "Admin Resource",
|
|
"uri": "/protected/admin/*",
|
|
"type": "http://servlet-authz/protected/admin",
|
|
"scopes": [
|
|
{
|
|
"name": "urn:servlet-authz:protected:admin:access"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Protected Resource",
|
|
"uri": "/*",
|
|
"type": "http://servlet-authz/protected/resource",
|
|
"scopes": [
|
|
{
|
|
"name": "urn:servlet-authz:protected:resource:access"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Premium Resource",
|
|
"uri": "/protected/premium/*",
|
|
"type": "urn:servlet-authz:protected:resource",
|
|
"scopes": [
|
|
{
|
|
"name": "urn:servlet-authz:protected:premium:access"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Main Page",
|
|
"type": "urn:servlet-authz:protected:resource",
|
|
"scopes": [
|
|
{
|
|
"name": "urn:servlet-authz:page:main:actionForAdmin"
|
|
},
|
|
{
|
|
"name": "urn:servlet-authz:page:main:actionForUser"
|
|
},
|
|
{
|
|
"name": "urn:servlet-authz:page:main:actionForPremiumUser"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"policies": [
|
|
{
|
|
"name": "Any Admin Policy",
|
|
"description": "Defines that adminsitrators can do something",
|
|
"type": "role",
|
|
"config": {
|
|
"roles": "[{\"id\":\"admin\"}]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Any User Policy",
|
|
"description": "Defines that any user can do something",
|
|
"type": "role",
|
|
"config": {
|
|
"roles": "[{\"id\":\"user\"}]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Only Premium User Policy",
|
|
"description": "Defines that only premium users can do something",
|
|
"type": "role",
|
|
"logic": "POSITIVE",
|
|
"config": {
|
|
"roles": "[{\"id\":\"user_premium\"}]"
|
|
}
|
|
},
|
|
{
|
|
"name": "All Users Policy",
|
|
"description": "Defines that all users can do something",
|
|
"type": "aggregate",
|
|
"decisionStrategy": "AFFIRMATIVE",
|
|
"config": {
|
|
"applyPolicies": "[\"Any User Policy\",\"Any Admin Policy\",\"Only Premium User Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Premium Resource Permission",
|
|
"description": "A policy that defines access to premium resources",
|
|
"type": "resource",
|
|
"decisionStrategy": "UNANIMOUS",
|
|
"config": {
|
|
"resources": "[\"Premium Resource\"]",
|
|
"applyPolicies": "[\"Only Premium User Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Administrative Resource Permission",
|
|
"description": "A policy that defines access to administrative resources",
|
|
"type": "resource",
|
|
"decisionStrategy": "UNANIMOUS",
|
|
"config": {
|
|
"resources": "[\"Admin Resource\"]",
|
|
"applyPolicies": "[\"Any Admin Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Protected Resource Permission",
|
|
"description": "A policy that defines access to any protected resource",
|
|
"type": "resource",
|
|
"decisionStrategy": "AFFIRMATIVE",
|
|
"config": {
|
|
"resources": "[\"Protected Resource\"]",
|
|
"applyPolicies": "[\"All Users Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Action 1 on Main Page Resource Permission",
|
|
"description": "A policy that defines access to action 1 on the main page",
|
|
"type": "scope",
|
|
"decisionStrategy": "AFFIRMATIVE",
|
|
"config": {
|
|
"scopes": "[\"urn:servlet-authz:page:main:actionForAdmin\"]",
|
|
"applyPolicies": "[\"Any Admin Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Action 2 on Main Page Resource Permission",
|
|
"description": "A policy that defines access to action 2 on the main page",
|
|
"type": "scope",
|
|
"decisionStrategy": "AFFIRMATIVE",
|
|
"config": {
|
|
"scopes": "[\"urn:servlet-authz:page:main:actionForUser\"]",
|
|
"applyPolicies": "[\"Any User Policy\"]"
|
|
}
|
|
},
|
|
{
|
|
"name": "Action 3 on Main Page Resource Permission",
|
|
"description": "A policy that defines access to action 3 on the main page",
|
|
"type": "scope",
|
|
"decisionStrategy": "AFFIRMATIVE",
|
|
"config": {
|
|
"scopes": "[\"urn:servlet-authz:page:main:actionForPremiumUser\"]",
|
|
"applyPolicies": "[\"Only Premium User Policy\"]"
|
|
}
|
|
}
|
|
]
|
|
} |