Layer NOT shown in Geonode - security

A layer is displayed in Geonode when admin is logged in GeoServer. When the admin logs off in GeoServer the layer is not displayed in Geonode.
It seems like oauth configuration of geoserver-geonode is not done properly (the default settings are not changed) which I am not able to solve.
The geoserver log shows errors/exceptions as follows:
ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: Could not find layer geonode:nepalNationalParks
.
.
WARN [geofence.cache] - org.geoserver.geofence.cache.CachedRuleReader$NoAuthException: Can't auth user [admin]
WARN [geoserver.security] - Failed login, user admin from 192.168.10.66
My System Configuration is GeoNode 3.1.0 , GeoServer 2.16.2 installed on Ubuntu 18.04. The larger log file is here.
Thank You.

I think you need to add new geofench rule from GeoFence Data Rules menu (GeoFence Data Rules>>Add new rule>>) as below,
Priority: 0
Role: *
Username: *
Service: *
Request: *
Workspace: *
Layer: *
Access: ALLOW
Or you can apply the required role for specific serice, workspace, or layer by just changing the parameter.

#Tekson Thank You for your suggestion.
I tried to play with GeoFence Rules as well. However, I think the problem was due to mis-configuration in OAuth setting. The issue was solved when I re-installed Geonode with proper IP Address and URLs (and did not altered the GeoFenceing Rules).
I followed Geonode installation guide(ubuntu 18.04). In my previous installation, mis-configuration might had happened around section
Update the settings in order to update GeoNode and GeoServer services running on a public IP or hostname particularly in Step 3 (Update OAuth2 configuration in order to hit the new hostname).

Related

Not able to configure Management Centre in Hazlecast-5.2.1

After upgrading the com.hazelcast group to 5.2.1 version, not able to configure the ManagementCentre url. Not able to see the following method itself, do I need to any other alternate config api for this?
ManagementCenterConfig managementCenterConfig = new ManagementCenterConfig();
managementCenterConfig.setUrl(hazelCastConfiguration.getManCenterUrl());
able to config mancenter url in lower version.

Shopware 6 Unable to find a matching sales channel for the request

I have been stuck on this for long enough now, basically I am wanting to try and use Shopware 6 as a PWA.
To install shopware I make use of Valet and Git.
But I am never able to use install Shopware6 in the right way because I am always getting the same error:
This is how I am installing Shopware6:
clone git repo -->https://github.com/shopware/production;
cd /production;
-composer install (to install dependencies)
./bin/console system:setup - At this step I am asked to input some datas:
Application environment [dev]: //dev;
URL to your /public folder [http://localhost]: // http://production.test;
Blue Green Deployment (yes/no) [yes]: //yes
Database user [app]: //root
Database password: //root
Database host [localhost]: //
Database port [3306]: //
Database name [shopware]: //
Database SSL CA Path []: //
Database SSL Cert Path []: //
Database SSL Key Path []: //
Skip verification of the database server's SSL certificate? (yes/no) [no]: //no
Once Shopware 6 is installed I would visit production/public to create a valet link (virtual host).
valet link production.test
I visit my virtual host on http://production.test
At this moment I always get the above mentioned error: Unable to find a matching sales channel for the request: http://production.test/". Please make sure the domain mapping is correct.
This is a bit odd. Good news is that your installation seems to be working, but for some reason it sounds like your SalesChannel -> domain is not set. Try logging into http://production.test/admin & going to the Storefront sales channel. There you can configure the domain.
You can see it here as an example:

Broadleaf - running locally - problem getting started the API project

I'm trying to run Heat Clinic 6.0.1 locally following getting started tutorial: https://www.broadleafcommerce.com/docs/core/current/getting-started/running-locally
I managed to run admin and site but not the API project. The application starts without problems but when I go to http://localhost:8082/api/v1/swagger-ui.html I get a 404. In the log I see this exception:
javax.servlet.ServletException: Circular view path [error]: would dispatch back to the current handler URL [/error] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
Also trying to log in directly in the API with user broadleafapi and password gives 404.
My environment: Windows 10, jdk 8, maven 3.6
What's wrong? Can you help me? Thank you
Thanks for the report. I reproduced this and it looks like that with the update to Spring Boot 2.0, we did not appropriately override the updated property that specifies the servlet location to embedded Tomcat. Thus, when you went to /api/v1/swagger-ui.html, the application treats it exactly like that URL which is what gave the 404.
Setting the server.servlet.contextPath=/api/v1 property appropriately stripped off this path as part of the servlet context and resolved the 404.
I tested around a bit and was able to 'Authorize' the app (button at the top right of the Swagger page) with the credentials information that get spit out in the logs:
Basic auth configured with user broadleafapi and password: <<generated>>
then I was able to hit the API endpoints.
The changes you will need to make locally in your project to consume the fix are at https://github.com/BroadleafCommerce/DemoSite/commit/422d1cdc37f847afd8bec0be477ab784cbad2e9d#diff-991c59b6dbb0f619b8570d8f8779eaddR11. You will notice that I moved the original definition in default.properties over to common.properties and I recommend that you do the same. To be clear, follow these steps:
Delete the server.servlet.contextPath entry in `api/src/main/resources/runtime-properties/default.properties
Change server.servletPath in api/src/main/resources/runtime-properties/common.properties to server.servlet.contextPath
Thanks for trying out Broadleaf and the report, sorry for the rough early start!

Add GitLab Web hook for all projects in group

I would like all my projects in a GitLab group to have shared configuration for a webhook:
<MY_JENKINS_INSTANCE>/git/notifyCommit?url=$CHANGED_REPOSITORY
GitLab webhook documentation suggests it should be possible:
If you have a big set of projects in the one group then it will be convenient for you to configure web hooks globally for the whole group. You can add the group level web hooks on the group settings page.
That sound exactly like what I am after though I see no such thing on group settings page in my gitlab 7.0.0. I was not able to find out if this feature is not newer than that in the changelog.
Does the feature exist? How do I use it?
That's possible in the enterprise version only:
In GitLab Enterprise Edition you can configure web hooks globally for the whole group. You can add the group level web hooks on the group settings page Settings > Web Hooks.
Following up on #VertigoRay's comments, here's a procedure to do it using GitLab CE API:
Have, or create an user in GitLab and a personal access token with api scope:
User (top right avatar) > Settings (menu) > Access tokens (sidebar)
Check api scope (checkbox)
Click on create personal access token (button)
<my_personal_token> is the value in Your New Personal Access Token (text field)
Perform an HTTP request to get all projects:
GET https://gitlab.example.com/api/v4/projects
Private-Token: <my_personal_token>
Accept: application/json
For each project in the response:
id which is the <project_ID> to be used in the next request URL
Convert the value of ssh_url_to_repo so that it becomes URL encoded <encoded_ssh_url>
Example: ssh://git#example.com:1234/group/alpha.git becomes ssh%3A%2F%2Fgit%40example.com%3A1234%2Fgroup%2Falpha.git
For each project, perform an HTTP request to create a hook:
POST https://gitlab.example.com/api/v4/projects/<project_ID>/hooks
Private-Token: <my_personal_token>
Content-Type: application/json
{
"url": "https://jenkins.example.com/git/notifyCommit?url=<encoded_ssh_url>",
"enable_ssl_verification": true
}
This should be scripted in the langage of your choice.
Not suitable as a persistent solution, but this might be useful for someone looking for a one-time change (from the raketasks documentation):
Add a webhook for projects in a given NAMESPACE
# omnibus-gitlab
sudo gitlab-rake gitlab:web_hook:add URL="http://example.com/hook" NAMESPACE=acme
# source installations
bundle exec rake gitlab:web_hook:add URL="http://example.com/hook" NAMESPACE=acme RAILS_ENV=production

openAm 12.0.0 failed to add user with external opendj

I had build and install openam 12 from source code, from svn checkout
link:
svn checkout https://svn.forgerock.org/openam/tags/12.0.0/openam/
after that I had used external OpenDJ-2.6.0 with openam , installation is successful.
But when I add new user and click OK I got error
Error :”Plug-in org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo encountered a ldap exception. ldap errorcode=65”
Also check in OpenDJ-2.6.0 logs access logs:
[25/Feb/2015:16:27:00 +0530] ADD RES conn=6 op=131 msgID=132 result=65 message=”Entry uid=indranis,dc=xyz,dc=net violates the Directory Server schema configuration because it contains an unknown objectclass iPlanetPreferences” etime=2
Same exception I got when I try to add group ,
but able to solve referring following link:
https://java.net/projects/opensso/lists/users/archive/2007-08/message/21
remove manually from Data Store – opends and remove groupOfURLs or groupOfUniqueNames from the LDAP Groups Object Class
Is there is issue with openDJ2.6 version , or any changes do I need to configure?
I got issue resolve, by installing openAM with embeded datastore and and then after installation ,configured it with an external opendj store and removed embedded one.

Resources