20

First of all, I think you should read the Geoserver documentation on Security. http://docs.geoserver.org/stable/en/user/security/index.html you will discover it is possible to make layers accessible/inaccessible to different users or roles. Another possible solution would be to make geoserver inaccessible from the outside world (close port 8080 on your ...


10

I finally found what I was looking for: a proper ArcGIS Server web endpoint that I could use to generate tokens! The call is this: GET http://<arcgisserver_host:port>/arcgis/tokens?request=getToken&username=<usr>&password=<usr>&expiration=<token_lifespan> which gives back the token into the HTTP response body, and one ...


9

You could have a look at GeoPrisma We needed to make a Web mapping application with security on sensible datasets. This could have been accomplished with multiple applications and by putting a standard login+password access to them, but the project was too big and it would have been very complex to maintain. Adding a new dataset for example would ...


9

I've figured out how to use their web services. It looks like you have to send the token as a header instead of directly in the URL. For example, you can download an add-on to your browser such as postman that allows you to send GET and POST requests to web servers. Then select the option to send a get request to the web server such as https://www....


7

Please have a look at How ArcGIS Server Security works. Basically, you will need to make users and groups, and give a particular User rights over certain services. Once you have done that, then you need to use Token based security in your JavaScript Application. What this means is that, you ask the User for their UserName & password. That is sent to ...


7

The solution we ended up with was to add an authenticating proxy server between the OpenLayers client and the backend WMS service. So instead of connecting directly to the WMS service the OpenLayers client connects to a proxy server which adds the required authentication headers to the requests. Example code for creating the layers: var layer = new ...


7

QGIS has a built-in Authentication System. Simply speaking you have a protected database with all your credentials, stored in one qgis-auth.db file, that you can send to someone else, who knows a master password: When you create some new PostGIS connection, instead of typing your login/password you can select it from qgis-auth.db (each login/password pair ...


6

For Post Request You send it over inside a form in the body with the key token and the value is the token you received from this document explaining how to get token For Get Request You can send them over via a query parameter attached to the url https://services1.arcgis.com/dis-mine/arcgis/rest/services/my-name/FeatureServer/0/query?where=blahblah*...


5

You can send a fake ajax request before adding the layer to the map. The browser will handle the basic authentication for you: // Assuming myLayer **WITHOUT** user:pass in the url $.ajax({ url: myLayer.url, data: myLayer.params, method: 'GET', error: function(jqXHR, textStatus, errorThrown){ // Handle not authoruzed here }, ...


5

I have done this in the past, but I authenticated the secured service from our own server on the ArcGIS Online side. In my case, I just needed a single Feature Service to be used in an AGOL app. Not quite the same workflow, but it worked. Here are the steps I followed: From your "My Content" tab, click "Add Item". Choose "ArcGIS Server web service". ...


4

A proxy page can also be used to bypass an authenticated service with 10.x versions of the APIs. A few things to note: Bypassing the Windows authentication with a proxy page will cause all of your connections to be made by the identity of the application pool that runs the proxy page, or by the identity of the connection you make within the proxy page. ...


4

According to the documentation, the token must go in the header, not the url: An example using curl: curl -H "token:<token>" url An example using jQuery: $.ajax({ url:<url>, data:{<data>}, headers:{ token:<token> } }) Example url: http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=ZIP:28801&...


4

Probably the easiest way is to let a proxy handle this for you. For example, once you register your app, you can then copy and paste the clientId and secret into your proxy file. If you specify a proxy within your application, it will route the POST request via the proxy using the specified credentials from this registered app. We actually use this in a ...


4

The PostgreSQL client that comes with QGIS 2.18 was build against PG 9.2.4, and it therefore doesn't contain the required code to use scram-sha-256 password encryption. You can copy the updated libraries from a PostgreSQL 10 installation to make use of the new features. rename C:\Program Files\QGIS 2.18\bin\libpq.dll to libpq.dll.backup From the folder C:\...


3

There is typo in your url http:localhost:8080/geoserver/wms?request=GetCapabilities should be http://localhost:8080/geoserver/wms?request=GetCapabilities You can use basic auth to make the requests: http://user:password@localhost:8080/geoserver/wms?request=GetCapabilities


3

In the ArcGIS API for JavaScript, there's a widget called the Identity Manager that addresses exactly what you want to do. Check out samples that use the identity manager to see how it works. The sample linked by Devdatta, while valid, is the pre-Identity Manager way of doing this and involves a lot more code that is necessary now that authentication for ...


3

I was having the same exact problem. What finally worked for me is adding the following to the ROOT site and NOT the application for the web adapter. Does it make sense? Not to me. But it worked for me. <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> ...


3

To secure WMS services on ArcGIS server, you can use token-based authentication. ArcGIS Server managed token-based authentication Although not recommended, a WMS service can still be secured using ArcGIS Server managed token-based authentication by using this type of authentication on its parent map or image service. To make raw requests to WMS services ...


3

Disclaimer: It should go without saying, don't mess with your registry if you don't know what you're doing! I take no responsibility. It's stored in the Windows Registry: HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGIS Online\SignIn Here is a screenshot of part of mine. To test, I made sure I was signed into my ArcGIS Online account and closed ArcMap. I also ...


2

For Geoserver 2.1.3 By default, no service-level security is set. Two examples are given in the service.properties file by default, commented out: wfs.GetFeature=ROLE_WFS_READ wfs.Transaction=ROLE_WFS_WRITE Make Sure they are included for WFS_T http://docs.geoserver.org/2.1.3/user/security/sec_service.html Example Service File with the correct ...


2

It looks like the proper way to secure this service will be to use windows integrated authentication, and although I'm not clear on the details, use that to control which features are being rendered. Potentially, but not with ArcGIS Server security. ArcGIS Server security at 10.1 currently only allows you to dish out individual map services to ...


2

According to your question following things may be possible : If you are using ArcGIS Server 10.1 then you can use ArcGIS administrator API (Click here for more details) If you are using REST Service (through java script application) then you can set such query tasks to control the features (Click here for more details)


2

Assuming you have the following: Mapserver is rendering data via a Postgis database You have a separate application which can authenticate users and update said database. Your WMS LAYER uses a WFS tileindex as documented on Example of WMS-T with PostGIS Tile Index for Raster Imagery You could create a api_keys table with access_token and expires_at columns....


2

We decided to use our own proxy to achieve authentication. Details on the first version of the proxy can be seen here Essentially we use a standard login using Ajax against our client database over https. We return a Guid, which is stored in a table on the server, to the JavaScript and modified the proxy code given above to validate back against the ...


2

You can also use Proxy, so your application will never prompt for UserName and Password. And you do not need to set Token to access secured services whenever you are accessing them. The only thing you need to do is in your JS file, set the following: esriConfig.defaults.io.proxyUrl = "/proxy.ashx"; (eg., http://localhost//DotNet/proxy.ashx; ...


2

There are some security issues here. I guess the reason you got the "different domain" message is because of the same origin policy, which is something browsers enforce to ensure that javascript does not execute scrips coming from other sites than the one you are currently on. This is mitigating the possibility of XSS (google it). The second "issue" I see ...


2

Take a look at this example I wrote a while back, https://github.com/andrewxhill/cartodb-examples/blob/gh-pages/private-maps/index.html It would present you with a form where you drop your api-key and it will create the map. You can use it as a starting point if you just want to write your api_key directly into the file. The way to do it in the library ...


2

I use GeoServer in OpenGeo Suite 4.1. In this package, the "Service access rules list" page has a rule that only "ADMIN" roles have permission for WFS-Transaction. wfs.Transation --> ADMIN You must delete this rule.


2

It depends on what you are using to consume the service and how you want to use the services. If you are using ArcGiS Online (AGOL) or Portal then no, this is not possible because the request to the server hosting the service is coming from the server hosting the web-application (Portal or AGOL). You can add a secure service to AGOL or Portal and store the ...


2

We do not use GeoServer Authentication, but we do use an ASP version of that Proxy Script we wrote ourselves with some tweaks. Our script handles the authentication via a Hashtag we included in the WMS Client Calls. The HashTag is set into a database at the Application Level User Login and removed at LogOut or Timeout. It is sent to the client via Ajax ...


Only top voted, non community-wiki answers of a minimum length are eligible