isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Cameron <steve.cameron...@gmail.com>
Subject Re: security module questions
Date Sun, 27 Sep 2015 08:37:39 GMT
sure enough, when I gave package access to domainapp.app.services.homepage
to my general user - Voila!

On Sun, Sep 27, 2015 at 6:09 PM, Stephen Cameron <steve.cameron.62@gmail.com
> wrote:

> re " I have the home page as it appears in the security demo"
>
> sorry, that is not so, its the right 'welcome' page.  So must be just
> permissions.
>
> On Sun, Sep 27, 2015 at 5:13 PM, Dan Haywood <dan@haywood-associates.co.uk
> > wrote:
>
>> Not sure.
>>
>> What I can tell you is that the home page is simply the result of the
>> framework invoking a domain service annotated with @HomePage (or to be
>> more
>> precise, one that has a HomePageFacet). If one cannot be found in all of
>> the services, then the index.html page (somewhere in the webapp module and
>> as specified in your app's subclass of IsisWebApplication) will be
>> rendered. If more than one such service can be found, then the app will
>> fail to boot with a metamodel validation error.
>>
>> My guess is that the domain service you have with an @HomePage annotation
>> isn't within the last of packages derived from the module package names.
>> As
>> a quick check, you could add the service class itself to the list returned
>> from getModules() and see what happens.
>>
>> With respect to the marker classes you've added for security module, there
>> is a class called simply SecurityModule that you could use.
>>
>> HTH
>>
>> Dan
>> On 27 Sep 2015 07:42, "Stephen Cameron" <steve.cameron.62@gmail.com>
>> wrote:
>>
>> > I see the following on the home page always, even when a new user logs
>> in
>> > other than isis-module-security-admin:
>> >
>> > Apache Isis <http://isis.apache.org>™ is a platform to let you rapidly
>> > develop domain-driven apps in Java.
>> >
>> > This app has been generated using Apache Isis' SimpleApp
>> > <
>> http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html>
>> > archetype, to create a purposefully minimal application that
>> nevertheless
>> > includes fixture data, integration tests and BDD specs.
>> >
>> > The app itself consists of a single domain class, SimpleObject
>> > <
>> >
>> https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java
>> > >,
>> > along with an equally simple (factory/repository) domain service,
>> > SimpleObjects
>> > <
>> >
>> https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java
>> > >.
>> >
>> >
>> > For more details, see the Apache Isis website
>> > <http://isis.apache.org/documentation.html>.
>> >
>> > On Sun, Sep 27, 2015 at 3:40 PM, Stephen Cameron <
>> > steve.cameron.62@gmail.com
>> > > wrote:
>> >
>> > > Hi,
>> > >
>> > > I am making use of the Apache Isis security module addon. I've
>> configured
>> > > it using the new App Manifest means, but have one issue, which is how
>> is
>> > > the home page being created now?
>> > >
>> > > I have the home page as it appears in the security demo, rather than
>> the
>> > > one that I created in my app.  Its not clear to me why Isis is
>> picking up
>> > > the alernative SecurityModuleApplication rather than my customised
>> > > HomePageViewModel.
>> > >
>> > > To make it work with the AppManifest, I have the following:
>> > >
>> > > package domainapp.app;
>> > >
>> > > import java.util.Arrays;
>> > > import java.util.Collections;
>> > > import java.util.List;
>> > > import java.util.Map;
>> > >
>> > > import org.apache.isis.applib.AppManifest;
>> > > import org.apache.isis.applib.fixturescripts.FixtureScript;
>> > > import org.isisaddons.module.security.dom.DomainAppSecurityDomModule;
>> > > import
>> org.isisaddons.module.security.seed.DomainAppSecuritySeedModule;
>> > >
>> > > import au.com.scds.chats.dom.DomainAppDomainModule;
>> > >
>> > > import domainapp.fixture.DomainAppFixtureModule;
>> > >
>> > > /**
>> > >  * Bootstrap the application.
>> > >  */
>> > > public class DomainAppAppManifest implements AppManifest {
>> > >
>> > >     /**
>> > >      * Load all services and entities found in (the packages and
>> > > subpackages within) these modules
>> > >      */
>> > >     @Override
>> > >     public List<Class<?>> getModules() {
>> > >         return Arrays.asList(
>> > >                 DomainAppDomainModule.class,  // domain (entities and
>> > > repositories)
>> > >                 DomainAppFixtureModule.class, // fixtures
>> > >                 DomainAppAppModule.class,      // home page service
>> etc
>> > >                 DomainAppSecurityDomModule.class,  //security
>> > >                 DomainAppSecuritySeedModule.class, //seed the security
>> > > admin user
>> > >
>> > > org.isisaddons.wicket.gmap3.cpt.service.Gmap3ServiceModule.class
>> //Google
>> > > Gmap Geocoding Service
>> > >         );
>> > >     }
>> > >
>> > >     /**
>> > >      * No additional services.
>> > >      */
>> > >     @Override
>> > >     public List<Class<?>> getAdditionalServices() {
>> > >         //return Collections.emptyList();
>> > >         return Arrays.asList(
>> > >
>> > >
>> >
>> org.isisaddons.module.security.dom.password.PasswordEncryptionServiceUsingJBcrypt.class,
>> > >
>> > >
>> >
>> org.isisaddons.module.security.dom.permission.PermissionsEvaluationServiceAllowBeatsVeto.class
>> > >         );
>> > >     }
>> > >
>> > >
>> > > I've added these two 'marker' classes to my app so the security domain
>> > > service classes will be discovered:
>> > >
>> > > org.isisaddons.module.security.dom.DomainAppSecurityDomModule.class
>> > > org.isisaddons.module.security.seed.DomainAppSecuritySeedModule.class
>> > >
>> > >
>> > > Steve C.
>> > >
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message