Ok, I am not having good luck with this. Using the realm “karaf” and BASIC 
authentication.  
Mind that my artifact is a WAB, not a WAR.

My web.xml

        <security-constraint>
                <web-resource-collection>
                        <web-resource-name>Protected Area</web-resource-name>
                        <url-pattern>/*</url-pattern>
                </web-resource-collection>
                <auth-constraint>
                        <role-name>admin</role-name>
                </auth-constraint>
        </security-constraint>

        <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>Karaf</realm-name>
        </login-config>

        <security-role>
                <role-name>admin</role-name>
        </security-role>


Error:


9:13:05.881 ERROR [paxweb-extender-3-thread-2] Error deploying web application
java.lang.IllegalStateException: No LoginService for 
org.eclipse.jetty.security.authentication.BasicAuthenticator@22444ea2 in 
ConstraintSecurityHandler@17b84a6e{STARTING}
        at 
org.eclipse.jetty.security.authentication.LoginAuthenticator.setConfiguration(LoginAuthenticator.java:92)
 ~[?:?]
        at 
org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:344) 
~[?:?]
        at 
org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:419)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 ~[?:?]
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
 ~[?:?]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120) 
~[?:?]
        at 
org.eclipse.jetty.server.session.SessionHandler.doStart(SessionHandler.java:504)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 ~[?:?]
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
 ~[?:?]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120) 
~[?:?]
        at 
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:879)
 ~[?:?]
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:357)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.startContext(HttpServiceContext.java:396)
 ~[?:?]
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:821)
 ~[?:?]
        at 
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:276)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doStart(HttpServiceContext.java:272)
 ~[?:?]
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:329)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.end(HttpServiceStarted.java:1264)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceProxy.end(HttpServiceProxy.java:456)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.end(RegisterWebAppVisitorWC.java:405)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:658) 
~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.register(WebAppPublisher.java:228)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:173)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:129)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
 ~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
 ~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) 
~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) 
~[osgi.core-6.0.0.jar:?]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) 
~[osgi.core-6.0.0.jar:?]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) 
~[osgi.core-6.0.0.jar:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:98)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebObserver.deploy(WebObserver.java:217)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.WebObserver$1.doStart(WebObserver.java:172)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.extender.SimpleExtension.start(SimpleExtension.java:59)
 ~[?:?]
        at 
org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.lambda$createExtension$0(AbstractExtender.java:277)
 ~[?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[?:1.8.0_171]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
[?:1.8.0_171]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
 [?:1.8.0_171]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [?:1.8.0_171]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_171]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_171]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]



Best regards,
Alex soto




> On May 11, 2020, at 8:36 AM, Alex Soto <[email protected]> wrote:
> 
> Ok I saw it now, it was hidden:
> 
> <realm-name>Test Realm</realm-name>
> 
> 
> Best regards,
> Alex soto
> 
> 
> 
> 
>> On May 11, 2020, at 8:31 AM, Alex Soto <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Thanks Achin and JB,
>> 
>> I looked at that example, but that is is WAR, and I am looking for WAB 
>> example.  Still, in the ‘web.xml’ file there is no reference to JAAS realm.  
>> Where do you indicate the realm name? (I have my own realm separate from the 
>> default Karaf one).
>> 
>> Actually, it is not fun having to guess all this basic stuff, and also a 
>> productivity drain, I am sorry to say.
>> 
>> 
>> Best regards,
>> Alex soto
>> 
>>> On May 11, 2020, at 3:12 AM, Jean-Baptiste Onofre <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> No rush, I think it’s easier for our users to find "how to" ;)
>>> 
>>> Thanks !
>>> Regards
>>> JB
>>> 
>>>> Le 11 mai 2020 à 09:09, Achim Nierbeck <[email protected] 
>>>> <mailto:[email protected]>> a écrit :
>>>> 
>>>> Sure .. 
>>>> maybe I find some time during this week to create this there ;) 
>>>> 
>>>> regards, Achim 
>>>> 
>>>> p.s. this just reminds me, that those samples are also in the "Apache 
>>>> Karaf Cookbook" :) 
>>>> 
>>>> Am Mo., 11. Mai 2020 um 06:32 Uhr schrieb Jean-Baptiste Onofre 
>>>> <[email protected] <mailto:[email protected]>>:
>>>> Maybe worth to add this in the Karaf wab example as well.
>>>> 
>>>> I will.
>>>> 
>>>> Regards
>>>> JB
>>>> 
>>>>> Le 10 mai 2020 à 13:45, Achim Nierbeck <[email protected] 
>>>>> <mailto:[email protected]>> a écrit :
>>>>> 
>>>>> Hi, 
>>>>> 
>>>>> there is a sample app for Pax-Web, which is also used in the test-suite: 
>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/war-authentication
>>>>>  
>>>>> <https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/war-authentication>
>>>>> And actually you just need to reference the jaas of the surrounding Karaf 
>>>>> instance in your web.xml file. 
>>>>> 
>>>>> regards, Achim 
>>>>> 
>>>>> 
>>>>> 
>>>>> Am Fr., 8. Mai 2020 um 18:41 Uhr schrieb Alex Soto <[email protected] 
>>>>> <mailto:[email protected]>>:
>>>>> Hello,
>>>>> 
>>>>> Is there a good tutorial or documentation on how to protect a WAB (Web 
>>>>> Application Bundle) with JAAS authentication?
>>>>> My Karaf version is 4.2.8.  Documentation here 
>>>>> https://karaf.apache.org/manual/latest/webcontainer 
>>>>> <https://karaf.apache.org/manual/latest/webcontainer> is scarce, only 
>>>>> referring to Jetty global config, (even that failed for me).  I have 
>>>>> multiple WABs and WARs in the same Karaf container, and I don’t want to 
>>>>> apply the same JAAS authentication to all of them.   From the comment:
>>>>> 
>>>>> <!-- =========================================================== -->
>>>>>     <!-- Configure Authentication Realms -->
>>>>>     <!-- Realms may be configured for the entire server here, or -->
>>>>>     <!-- they can be configured for a specific web app in a context -->
>>>>>     <!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
>>>>>     <!-- example). -->
>>>>>     <!-- =========================================================== —>
>>>>> 
>>>>> It looks like is a way ($(jetty.home)/contexts/test.xml ).  But this is 
>>>>> unclear on how to apply, and it is Jetty specific.
>>>>> My preference is for a Jetty agnostic way, for portability reasons. 
>>>>> (Maybe Karaf will change to Undertow in the future)
>>>>> 
>>>>> 
>>>>> Best regards,
>>>>> Alex soto
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 
>>>>> Apache Member
>>>>> Apache Karaf <http://karaf.apache.org/ <http://karaf.apache.org/>> 
>>>>> Committer & PMC
>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/ 
>>>>> <http://wiki.ops4j.org/display/paxweb/Pax+Web/>> Committer & Project Lead
>>>>> blog <http://notizblog.nierbeck.de/ <http://notizblog.nierbeck.de/>>
>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS 
>>>>> <http://bit.ly/1ps9rkS>>
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Apache Member
>>>> Apache Karaf <http://karaf.apache.org/ <http://karaf.apache.org/>> 
>>>> Committer & PMC
>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/ 
>>>> <http://wiki.ops4j.org/display/paxweb/Pax+Web/>> Committer & Project Lead
>>>> blog <http://notizblog.nierbeck.de/ <http://notizblog.nierbeck.de/>>
>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS 
>>>> <http://bit.ly/1ps9rkS>>
>>>> 
>>> 
>> 
> 

Reply via email to