You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/06/01 07:07:15 UTC
[isis-app-helloworld] 04/04: removes dependency on shiro
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch jpa-SNAPSHOT-secman
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git
commit db3b544f935db004682160d23901e14d1b241d7b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jun 1 08:06:48 2021 +0100
removes dependency on shiro
---
pom.xml | 42 ++++++++++++++++++++++
.../security/scripts/UserToRole__bob_UserRw.java | 3 +-
.../security/scripts/UserToRole__dick_UserRo.java | 3 +-
...e__joe_UserRw_but_NoDelete_or_isis2619Prop.java | 3 +-
src/main/java/domainapp/webapp/AppManifest.java | 21 -----------
src/main/resources/application.yml | 10 +++++-
src/main/resources/shiro.ini | 10 ------
7 files changed, 57 insertions(+), 35 deletions(-)
diff --git a/pom.xml b/pom.xml
index f852f46..a82e349 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,6 +55,25 @@
</plugins>
</build>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman</artifactId>
+ <scope>import</scope>
+ <type>pom</type>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.testing</groupId>
+ <artifactId>isis-testing-h2console-ui</artifactId>
+ <scope>import</scope>
+ <type>pom</type>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<dependencies>
<dependency>
@@ -85,6 +104,29 @@
<artifactId>isis-testing-h2console-ui</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-applib</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-integration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-persistence-jpa</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-shiro-realm</artifactId>
+ </dependency>
+-->
+
</dependencies>
<profiles>
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
index 12256c0..f5867e9 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
@@ -1,6 +1,7 @@
package domainapp.security.scripts;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.extensions.secman.applib.SecmanConfiguration;
import org.apache.isis.extensions.secman.applib.user.dom.AccountType;
import org.apache.isis.extensions.secman.applib.user.fixtures.AbstractUserAndRolesFixtureScript;
@@ -17,7 +18,7 @@ public class UserToRole__bob_UserRw extends AbstractUserAndRolesFixtureScript {
AccountType.LOCAL,
Can.of(
RoleAndPerms__UserRw.ROLE_NAME
- , SecmanConfiguration.REGULAR_USER_ROLE_DEFAULT_NAME
+ , IsisConfiguration.Extensions.Secman.Seed.REGULAR_USER_ROLE_NAME_DEFAULT
, IsisConfigurationRoleAndPermissions.ROLE_NAME
, IsisSudoImpersonateRoleAndPermissions.ROLE_NAME
, IsisExtH2ConsoleRoleAndPermissions.ROLE_NAME
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
index 2f2e88d..30d70b1 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
@@ -1,6 +1,7 @@
package domainapp.security.scripts;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.extensions.secman.applib.SecmanConfiguration;
import org.apache.isis.extensions.secman.applib.user.dom.AccountType;
import org.apache.isis.extensions.secman.applib.user.fixtures.AbstractUserAndRolesFixtureScript;
@@ -13,7 +14,7 @@ public class UserToRole__dick_UserRo extends AbstractUserAndRolesFixtureScript {
AccountType.LOCAL,
Can.of(
RoleAndPerms__UserRo.ROLE_NAME
- , SecmanConfiguration.REGULAR_USER_ROLE_DEFAULT_NAME
+ , IsisConfiguration.Extensions.Secman.Seed.REGULAR_USER_ROLE_NAME_DEFAULT
));
}
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java
index ff7859f..536c4ba 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java
@@ -1,6 +1,7 @@
package domainapp.security.scripts;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.extensions.secman.applib.SecmanConfiguration;
import org.apache.isis.extensions.secman.applib.user.dom.AccountType;
import org.apache.isis.extensions.secman.applib.user.fixtures.AbstractUserAndRolesFixtureScript;
@@ -17,7 +18,7 @@ public class UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop extends Abstrac
RoleAndPerms__UserRw.ROLE_NAME
, RoleAndPerms__NoDelete.ROLE_NAME // <<< veto application behaviour
, RoleAndPerms__NoIsis2619Prop.ROLE_NAME // <<< veto application behaviour
- , SecmanConfiguration.REGULAR_USER_ROLE_DEFAULT_NAME
+ , IsisConfiguration.Extensions.Secman.Seed.REGULAR_USER_ROLE_NAME_DEFAULT
, IsisExtH2ConsoleRoleAndPermissions.ROLE_NAME
, IsisPersistenceJdoMetaModelRoleAndPermissions.ROLE_NAME
));
diff --git a/src/main/java/domainapp/webapp/AppManifest.java b/src/main/java/domainapp/webapp/AppManifest.java
index 304b423..551c311 100644
--- a/src/main/java/domainapp/webapp/AppManifest.java
+++ b/src/main/java/domainapp/webapp/AppManifest.java
@@ -1,6 +1,5 @@
package domainapp.webapp;
-import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
@@ -8,14 +7,9 @@ import org.springframework.context.annotation.PropertySources;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.extensions.secman.applib.SecmanConfiguration;
-import org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService;
-import org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationServiceAllowBeatsVeto;
import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleExtSecmanEncryptionJbcrypt;
import org.apache.isis.extensions.secman.jpa.IsisModuleExtSecmanPersistenceJpa;
-import org.apache.isis.extensions.secman.shiro.IsisModuleExtSecmanRealmShiro;
import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
-import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
@@ -29,13 +23,11 @@ import domainapp.security.multitenancy.ApplicationTenancyEvaluatorUsingAtPath;
@Configuration
@Import({
IsisModuleCoreRuntimeServices.class,
- IsisModuleSecurityShiro.class,
IsisModuleJpaEclipselink.class,
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
IsisModuleViewerWicketViewer.class,
IsisModuleExtSecmanPersistenceJpa.class,
- IsisModuleExtSecmanRealmShiro.class,
IsisModuleExtSecmanEncryptionJbcrypt.class,
IsisModuleTestingFixturesApplib.class,
@@ -53,17 +45,4 @@ import domainapp.security.multitenancy.ApplicationTenancyEvaluatorUsingAtPath;
})
public class AppManifest {
- @Bean
- public SecmanConfiguration secmanConfiguration() {
- return SecmanConfiguration.builder()
- .adminUserName("sven").adminPassword("pass")
- .build();
- }
-
- @Bean
- public PermissionsEvaluationService permissionsEvaluationService() {
- return new PermissionsEvaluationServiceAllowBeatsVeto();
- }
-
-
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index bedf26a..ec92a3e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -15,7 +15,6 @@ isis:
validator:
allow-deprecated: false
no-params-only: true
- explicit-object-type: true
viewer:
wicket:
@@ -53,6 +52,15 @@ isis:
auto-create-schemas: hello,isisExtensionsSecman
create-schema-sql-template: "CREATE SCHEMA IF NOT EXISTS %S"
+ extensions:
+ secman:
+ seed:
+ admin:
+ user-name: sven
+ password: pass
+ permissions-evaluation-policy: allow_beats_veto
+
+
eclipselink:
# if enabled, then must be run with JVM arg:
# -javaagent:lib/spring-instrument-5.3.5.jar
diff --git a/src/main/resources/shiro.ini b/src/main/resources/shiro.ini
deleted file mode 100644
index 8f41937..0000000
--- a/src/main/resources/shiro.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[main]
-
-authenticationStrategy=org.apache.isis.extensions.secman.shiro.AuthenticationStrategyForIsisModuleSecurityRealm
-isisModuleSecurityRealm=org.apache.isis.extensions.secman.shiro.IsisModuleExtSecmanShiroRealm
-
-securityManager.authenticator.authenticationStrategy = $authenticationStrategy
-securityManager.realms = $isisModuleSecurityRealm
-
-[users]
-[roles]