Hi Vera,
To allow CORS in Tomcat add the following to the bottom of the web.xml file in
the $TOMCAT_HOME/conf directory
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Hope this helps.
Graham
From: Vera Green [mailto:[email protected]]
Sent: Tuesday, 16 April 2019 7:25 AM
To: Eric Plassot <[email protected]>
Cc: GeoServer Mailing List List <[email protected]>
Subject: Re: [Geoserver-users] Authenticate WFS-T
I managed to get the authentication to work as well. Perhaps you could share
how you did it for future reference.
From leaflet I used ajax as per one of the links I provided:
//this option uses the leaflet.wms.js plugin:
https://github.com/heigeo/leaflet.wms
var options_l = {'transparent': true,'tiled': true,'format':
'image/png'};
var source_l =
L.WMS.source("https://your_server:8080/geoserver/wms?", options_l);
var myLayer = source_l.getLayer(' myLayer ');// Get the layer
// myLayer .addTo(map); //Optionally add the layer to the map
layerControl.addOverlay( myLayer, " My Layer "); //Optionally
add the layer to the layer control - object must exist.
// Assuming myLayer **WITHOUT** user:pass in the url
// The result is that when the request is first made a login window is
initiated allowing the user to authenticate into GeoServer.
/*
$.ajax({
url: myLayer.url,
data: myLayer.params,
method: 'GET',
error: function(jqXHR, textStatus, errorThrown){
// Handle not authorised here
alert("Could not authorise!");
},
success: function(){
alert("Authorised!");
// Yuppieeeeee!
//map.addLayer(myLayer); // The browser will set up
the
// authentication in the
request for you
}
}); */
I am not certain exactly how this functions because after the initial login the
credentials seam to be saved somewhere even when the page is reloaded and even
when the browser is re-started. I would like to understand where the
credentials are stored.
Now I am trying to enable CORES on tomcat as the next issue is a "No
'Access-Control-Allow-Origin' header is present on the requested resource."
error.
https://server.boundlessgeo.com/docs/latest/sysadmin/cors/index.html
Cheers,
Vera
On Mon, Apr 15, 2019 at 2:56 PM Eric Plassot
<[email protected]<mailto:[email protected]>> wrote:
hello
I finally managed to authenticate myself
now it's the content of the query that does not pass :
org.geoserver.wfs.WFSException: Error performing insert: Error inserting
features
Yet I try to replicate the examples
Le 15/04/2019 à 00:05, Vera Green a écrit :
I have the same problem with leaflet and WMS. Same setup with data in
postgreSQL, basic authentication and the Catalog Mode set to Challenge which I
have read is required.
This related post suggest the authentication should be "handled automatically"
but this does not occur:
https://gis.stackexchange.com/questions/227553/geoserver-rest-authentication-form
<https://gis.stackexchange.com/questions/227553/geoserver-rest-authentication-form>
this post suggests using the fetch API although personally I was not able to
implement this:
https://gis.stackexchange.com/questions/284954/how-to-authenticate-wfs-requests-being-made-to-geoserver-through-openlayers-appl/285069
This post is also related:
https://stackoverflow.com/questions/51758817/how-to-authorize-accessing-the-geoserver-layers
And then there is also this post:
https://gis.stackexchange.com/questions/86790/authentication-in-geoserver-2-4-x-from-a-web-application/97448#97448
Despite of this I am still unable to establish the link between GeoServer and
Leaflet receiving the 401 error. Note that if I am already logged into
GeoSever then the WMS layer works fine, therefore I am confident that
establishing JavaScript or ajax based method to authenticate the user into
GeoServer at the beginning of the session is the solution. However I am still
unsure about how to do this.
Vera
On Sun, Apr 14, 2019, 1:36 PM Eric Plassot via Geoserver-users
<[email protected]<mailto:[email protected]>>
wrote:
Hello
I have a layer cite: administration that is linked to a POSTGRESQL database and
I can not configure a wfs-t authentication. My query in openlayers always gives
error 401 and in geoserver log 'Failed login'
The request is
<wfs: Transaction service = "WFS" version = "1.1.0" xmlns: wfs =
"http://www.opengis.net/wfs"<http://www.opengis.net/wfs> xmlns: cite =
"http://www.opengeospatial.net/cite"<http://www.opengeospatial.net/cite> xmlns:
gml = "http://www.opengis.net/gml"<http://www.opengis.net/gml> xmlns: xsi =
"http://www.w3.org/2001/XMLSchema-instance"<http://www.w3.org/2001/XMLSchema-instance>
xsi: schemaLocation = "http: //www.opengis .net / wfs
http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd
http://www.opengeospatial.net/cite http://ip_adress:8080/geoserver/wfs/
DescribeFeatureType? Typename = cite: administration "> <wfs: Insert> <cite:
administration> <cite: geom> <gml: MultiSurface xmlns ="
http://www.opengis.net/gml "srsName =" EPSG: 2154 " <gml: surfaceMember> <gml:
Polygon srsName = "EPSG: 2154"> <gml: exterior> <gml: LinearRing srsName =
"EPSG: 2154"> <gml: posList srsDimension = "2"> 793236.2285561005
5401066.196149358 793193.2327276901 5400993.3421067735 793272.0584131093
5400974.232849702 793300.7222987162 5401037.532263751 793236.2285561005
5401066.196149358 </ gml: posList> </ gml: LinearRing> </ gml: exterior> </
gml: Polygon> </ gml: surfaceMember> </ gml: MultiSurface> < / cite: geom> </
cite: Body> </ wfs: insert> </ wfs: Transaction>
and in openlayers I try:
var headers = new Headers ({
'Authorization': 'Basic' + btoa (username + ':' + password),
'Content-Type': 'application / x-www-form-urlencoded'
})
fetch ( 'http: // ip_adress: 8080 / geoserver / wfs', {
method: 'POST',
headers: headers,
body: request
}). then (function (response) {
return response.text ();
}). then (function (text) {
var result = text;
console.log ( 'result -------------------------------------------- ------ ',
result)
});
I set up a user group
I tried to put a data access rule for this layer - cite.administration.w - but
it does not memorize. Even with reading the geoserver manual 2.15 I can not do
it.
Can you help me please ?
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
________________________________
CONFIDENTIALITY NOTICE AND DISCLAIMER
The information in this transmission may be confidential and/or protected by
legal professional privilege, and is intended only for the person or persons to
whom it is addressed. If you are not such a person, you are warned that any
disclosure, copying or dissemination of the information is unauthorised. If you
have received the transmission in error, please immediately contact this office
by telephone, fax or email, to inform us of the error and to enable
arrangements to be made for the destruction of the transmission, or its return
at our cost. No liability is accepted for any unauthorised use of the
information contained in this transmission.
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users