Filter Chains¶
/security/filterChains
¶
Adds or Lists the filter chains in the geoserver systems
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all filter chains in the system |
200,403,500 |
XML, JSON |
|
POST |
Create a new filter chain |
200,400,403,500 |
XML, JSON |
Formats:
XML
For Get (List - Response)
<filterChains>
<filterChain>
<name>web-test-2</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/rest/security/filterChains/web-test-2.xml" type="application/atom+xml"/>
</filterChain>
<filterChain>
<name>web-test-5</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/rest/security/filterChains/web-test-5.xml" type="application/atom+xml"/>
</filterChain>
</fiterChains>
For Post (Create - Request)
Content-Type: application/xml Authentication: XXXXXX
<filterChain>
<name>web-test-2</name>
<className>org.geoserver.security.HtmlLoginFilterChain</className>
<patterns>
<string>/web/**</string>
<string>/gwc/rest/web/**</string>
<string>/</string>
</patterns>
<filters>
<string>rememberme</string>
<string>form</string>\
<string>anonymous</string>
</filters>
<disabled>false</disabled>
<allowSessionCreation>true</allowSessionCreation>
<requireSSL>false</requireSSL>
<matchHTTPMethod>false</matchHTTPMethod>
<position>0</position>
</filterChain>
For Post (Create - Response)
201 Created Content-Type: text/plain Location: “http://localhost:9002/geoserver/rest/security/filterChains/web-test-2”
JSON
For Get (list)
{
"filterChains": {
"filterChain": [
{
"name": "web-test-2",
"href": "http://localhost:8080/geoserver/rest/security/filterChains/web-test-2.json"
},
{
"name": "web-test-5",
"href": "http://localhost:8080/geoserver/rest/security/filterChains/web-test-5.json"
}
]
}
}
For Post (create - request)
{
"filterChain": {
"name": "rest",
"className": "org.geoserver.security.ServiceLoginFilterChain",
"patterns": {
"string": [
"/rest.*",
"/rest/**"
]
},
"filters": {
"string": [
"basic",
"anonymous"
]
},
"disabled": false,
"allowSessionCreation": false,
"requireSSL": false,
"matchHTTPMethod": false,
"position": 6
}
}
For Post (create - response)
201 Created Content-Type: text/plain Location: “http://localhost:9002/geoserver/rest/security/filterChains/rest”
Exceptions¶
Exception |
Status code |
---|---|
Malformed request |
400 |
No administrative privileges |
403 |
Internal Server Error |
500 |
/security/filterChains/{filterChain}
¶
View, Update or Delete an existing auth filter
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
View the details of a filter chain on the geoserver |
200,403,404,500 |
XML, JSON |
|
PUT |
Update the details of a filter chain on the geoserver |
200,400,403,404,500 |
XML, JSON |
|
DELETE |
Delete a filter chain on the geoserver |
200,403,410,500 |
Formats:
XML
Request GET: http://localhost:9002/geoserver/rest/security/filterChains/web-test-1 Header Accept: application/xml
<filterChain>
<name>web-test-1</name>
<className>org.geoserver.security.HtmlLoginFilterChain</className>
<patterns>
<string>/web/**</string>
<string>/gwc/rest/web/**</string>
<string>/</string>
</patterns>
<filters>
<string>rememberme</string>
<string>form</string>
<string>anonymous</string>
</filters>
<disabled>false</disabled>
<allowSessionCreation>true</allowSessionCreation>
<requireSSL>false</requireSSL>
<matchHTTPMethod>false</matchHTTPMethod>
<position>1</position>
</filterChain>
Request PUT: http://localhost:9002/geoserver/rest/security/filterChains/web-test-1 Header Content-Type: application/xml Header Accept: application/xml
<filterChain>
<name>web-test-1</name>
<className>org.geoserver.security.HtmlLoginFilterChain</className>
<patterns>
<string>/web/**</string>
<string>/gwc/rest/web/**</string>
<string>/</string>
</patterns>
<filters>
<string>rememberme</string>
<string>form</string>
<string>anonymous</string>
</filters>
<disabled>false</disabled>
<allowSessionCreation>true</allowSessionCreation>
<requireSSL>false</requireSSL>
<matchHTTPMethod>false</matchHTTPMethod>
<position>1</position>
</filterChain>
Response Status: 200
<filterChain>
<name>web-test-1</name>
<className>org.geoserver.security.HtmlLoginFilterChain</className>
<patterns>
<string>/web/**</string>
<string>/gwc/rest/web/**</string>
<string>/</string>
</patterns>
<filters>
<string>rememberme</string>
<string>form</string>
<string>anonymous</string>
</filters>
<disabled>false</disabled>
<allowSessionCreation>true</allowSessionCreation>
<requireSSL>false</requireSSL>
<matchHTTPMethod>false</matchHTTPMethod>
<position>1</position>
</filterChain>
Request DELETE: http://localhost:9002/geoserver/rest/security/filterChains/web-test-1
Response: Status: 200
<filterChain>
<name>web-test-1</name>
<className>org.geoserver.security.HtmlLoginFilterChain</className>
<patterns>
<string>/web/**</string>
<string>/gwc/rest/web/**</string>
<string>/</string>
</patterns>
<filters>
<string>rememberme</string>
<string>form</string>
<string>anonymous</string>
</filters>
<disabled>false</disabled>
<allowSessionCreation>true</allowSessionCreation>
<requireSSL>false</requireSSL>
<matchHTTPMethod>false</matchHTTPMethod>
<position>1</position>
</filterChain>
JSON
Request GET: http://localhost:9002/geoserver/rest/security/filterChains/web-test-2 Header Accept: application/json
Response Status: 200
{
"filterChain": {
"name": "web-test-2",
"className": "org.geoserver.security.HtmlLoginFilterChain",
"patterns": {
"string": [
"/web/**",
"/gwc/rest/web/**",
"/"
]
},
"filters": {
"string": [
"rememberme",
"form",
"anonymous"
]
},
"disabled": false,
"allowSessionCreation": true,
"requireSSL": false,
"matchHTTPMethod": false,
"position": 0
}
}
Request PUT: http://localhost:9002/geoserver/rest/security/filterChains/web-test-2 Header Content-Type: application/json Header Accept: application/json
{
"filterChain": {
"name": "web-test-2",
"className": "org.geoserver.security.HtmlLoginFilterChain",
"patterns": {
"string": [
"/web/**",
"/gwc/rest/web/**",
"/"
]
},
"filters": {
"string": [
"rememberme",
"form",
"anonymous"
]
},
"disabled": false,
"allowSessionCreation": true,
"requireSSL": false,
"matchHTTPMethod": false,
"position": 0
}
}
Response Status: 200
{
"filterChain": {
"name": "web-test-2",
"className": "org.geoserver.security.HtmlLoginFilterChain",
"patterns": {
"string": [
"/web/**",
"/gwc/rest/web/**",
"/"
]
},
"filters": {
"string": [
"rememberme",
"form",
"anonymous"
]
},
"disabled": false,
"allowSessionCreation": true,
"requireSSL": false,
"matchHTTPMethod": false,
"position": 0
}
}
Request DELETE: http://localhost:9002/geoserver/rest/security/filterChains/web-test-2
Response: Status: 200
{
"filterChain": {
"name": "web-test-2",
"className": "org.geoserver.security.HtmlLoginFilterChain",
"patterns": {
"string": [
"/web/**",
"/gwc/rest/web/**",
"/"
]
},
"filters": {
"string": [
"rememberme",
"form",
"anonymous"
]
},
"disabled": false,
"allowSessionCreation": true,
"requireSSL": false,
"matchHTTPMethod": false,
"position": 0
}
}
Exceptions¶
Exception |
Status code |
---|---|
Malformed request |
400 |
No administrative privileges |
403 |
Authentication filter not found |
404 |
Gone - On Delete Only |
410 |
Internal Server Error |
500 |