AW: AW: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-30 Thread Keil, Matthias (ORISA Software GmbH)
Dear Mark and Bernd, 

Thank you for your help and your advice.
That helped me alot.

I now have an implementation that resides exclusively in the application.

Thanks very much :-)


Best regards


Matthias Keil

-Ursprüngliche Nachricht-
Von: Mark Thomas  
Gesendet: Montag, 27. September 2021 18:21
An: users@tomcat.apache.org
Betreff: Re: AW: JASPIC AuthConfigProvider packaged with the web application 
not found

On 23/09/2021 07:03, Keil, Matthias (ORISA Software GmbH) wrote:
> Hi Bernd,
> 
> Yes, I would like to define my Server Auth module in the jaspic-providers.xml 
> and then provide the class with the web application.

Sorry, that isn't going to be supported. You either need to provide everything 
at the container level or everything at the web application level.

The main concern with configuration at the container level and implementation 
at the web application level is that web applications can be undeployed at 
which point everything breaks.

I'll update the documentation to make these two options clearer.

Mark


> 
> 
> Mit vielen Grüßen
> 
> Matthias Keil
> 
> -Ursprüngliche Nachricht-
> Von: Bernd Schatz 
> Gesendet: Dienstag, 21. September 2021 23:25
> An: users@tomcat.apache.org
> Betreff: Re: JASPIC AuthConfigProvider packaged with the web 
> application not found
> 
> Hi,
> 
> 
> Am 19.09.21 um 19:48 schrieb Keil, Matthias (ORISA Software GmbH):
>> Hello everyone and thanks for the hints.
>> They also work as expected and I can package the provider in the web 
>> application 😊.
>>
>> Nevertheless, the Configuration Reference 
>> (https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html) suggests that 
>> you define your own provider in jaspic-providers.xml and Tomcat will then 
>> find it.
>> I am really only interested in a separate server auth module (SAM). Since I 
>> saw no way in the documentation to pack this into the web application. 
>> That's why I tried the way through the provider.
> 
> 
> You want to define the class in the  jaspic-providers.xml but package the 
> provider implementation(s) in the application(s) ?
> 
>>
>> As I said, your suggestions work, but there are also a number of additional 
>> classes needed to provide the actual SAM.
>> Thank you again
> 
> If you dont need the whole flexibility of JASPI you can also do something 
> like this:
> 
> 
> public class MyAuthProvider implements AuthConfigProvider, 
> ServerAuthConfig, ServerAuthModule, ServerAuthContext
> 
> 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AW: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-27 Thread Mark Thomas

On 23/09/2021 07:03, Keil, Matthias (ORISA Software GmbH) wrote:

Hi Bernd,

Yes, I would like to define my Server Auth module in the jaspic-providers.xml 
and then provide the class with the web application.


Sorry, that isn't going to be supported. You either need to provide 
everything at the container level or everything at the web application 
level.


The main concern with configuration at the container level and 
implementation at the web application level is that web applications can 
be undeployed at which point everything breaks.


I'll update the documentation to make these two options clearer.

Mark





Mit vielen Grüßen

Matthias Keil

-Ursprüngliche Nachricht-
Von: Bernd Schatz 
Gesendet: Dienstag, 21. September 2021 23:25
An: users@tomcat.apache.org
Betreff: Re: JASPIC AuthConfigProvider packaged with the web application not 
found

Hi,


Am 19.09.21 um 19:48 schrieb Keil, Matthias (ORISA Software GmbH):

Hello everyone and thanks for the hints.
They also work as expected and I can package the provider in the web 
application 😊.

Nevertheless, the Configuration Reference 
(https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html) suggests that you 
define your own provider in jaspic-providers.xml and Tomcat will then find it.
I am really only interested in a separate server auth module (SAM). Since I saw 
no way in the documentation to pack this into the web application. That's why I 
tried the way through the provider.



You want to define the class in the  jaspic-providers.xml but package the 
provider implementation(s) in the application(s) ?



As I said, your suggestions work, but there are also a number of additional 
classes needed to provide the actual SAM.
Thank you again


If you dont need the whole flexibility of JASPI you can also do something like 
this:


public class MyAuthProvider implements AuthConfigProvider,
ServerAuthConfig, ServerAuthModule, ServerAuthContext





-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-23 Thread Bernd Schatz

Hi Matthias,


Am 23.09.21 um 08:03 schrieb Keil, Matthias (ORISA Software GmbH):

Yes, I would like to define my Server Auth module in the jaspic-providers.xml 
and then provide the class with the web application.


As far as of now, i have only two scenarios in my mind:


1) Transparent for developers/applications

* Developer defines the security constraints with e.g. basic 
authentication in their web.xml

* Operating places oidc-lib and the jaspci xml-configuration in tomcat.

--> Same war-file can be used for development and production
--> The developer doesnt know anything about oidc.


2) Transparent for operating.

* Developer put the oidc-lib in their application and is
responsible to register the AuthProvider class.

In both cases, i assume there exist only one oidc provider in the 
company (maybe federated with other external oidc provider) with

one corresponding oidc-lib implementation.

Probably you have an other setup/requirement ?


--
greets
   Bernd



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



AW: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-22 Thread Keil, Matthias (ORISA Software GmbH)
Hi Bernd, 

Yes, I would like to define my Server Auth module in the jaspic-providers.xml 
and then provide the class with the web application.


Mit vielen Grüßen

Matthias Keil

-Ursprüngliche Nachricht-
Von: Bernd Schatz  
Gesendet: Dienstag, 21. September 2021 23:25
An: users@tomcat.apache.org
Betreff: Re: JASPIC AuthConfigProvider packaged with the web application not 
found

Hi,


Am 19.09.21 um 19:48 schrieb Keil, Matthias (ORISA Software GmbH):
> Hello everyone and thanks for the hints.
> They also work as expected and I can package the provider in the web 
> application 😊.
> 
> Nevertheless, the Configuration Reference 
> (https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html) suggests that 
> you define your own provider in jaspic-providers.xml and Tomcat will then 
> find it.
> I am really only interested in a separate server auth module (SAM). Since I 
> saw no way in the documentation to pack this into the web application. That's 
> why I tried the way through the provider.


You want to define the class in the  jaspic-providers.xml but package the 
provider implementation(s) in the application(s) ?

> 
> As I said, your suggestions work, but there are also a number of additional 
> classes needed to provide the actual SAM.
> Thank you again

If you dont need the whole flexibility of JASPI you can also do something like 
this:


public class MyAuthProvider implements AuthConfigProvider, 
ServerAuthConfig, ServerAuthModule, ServerAuthContext


-- 
Greets
   Bernd









-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-21 Thread Bernd Schatz

Hi,


Am 19.09.21 um 19:48 schrieb Keil, Matthias (ORISA Software GmbH):

Hello everyone and thanks for the hints.
They also work as expected and I can package the provider in the web 
application 😊.

Nevertheless, the Configuration Reference 
(https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html) suggests that you 
define your own provider in jaspic-providers.xml and Tomcat will then find it.
I am really only interested in a separate server auth module (SAM). Since I saw 
no way in the documentation to pack this into the web application. That's why I 
tried the way through the provider.



You want to define the class in the  jaspic-providers.xml but package 
the provider implementation(s) in the application(s) ?




As I said, your suggestions work, but there are also a number of additional 
classes needed to provide the actual SAM.
Thank you again


If you dont need the whole flexibility of JASPI you can also do 
something like this:



public class MyAuthProvider implements AuthConfigProvider, 
ServerAuthConfig, ServerAuthModule, ServerAuthContext



--
Greets
  Bernd









-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



AW: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-19 Thread Keil, Matthias (ORISA Software GmbH)
Hello everyone and thanks for the hints.
They also work as expected and I can package the provider in the web 
application 😊.

Nevertheless, the Configuration Reference 
(https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html) suggests that you 
define your own provider in jaspic-providers.xml and Tomcat will then find it.

I am really only interested in a separate server auth module (SAM). Since I saw 
no way in the documentation to pack this into the web application. That's why I 
tried the way through the provider.

As I said, your suggestions work, but there are also a number of additional 
classes needed to provide the actual SAM.
Thank you again

Mit vielen Grüßen

Matthias Keil

-Ursprüngliche Nachricht-
Von: Bernd Schatz  
Gesendet: Freitag, 17. September 2021 09:53
An: users@tomcat.apache.org
Betreff: Re: JASPIC AuthConfigProvider packaged with the web application not 
found

Hi Matthias,


Am 17.09.21 um 09:39 schrieb bernd.sch...@daimler.com:
> From: "Keil, Matthias (ORISA Software GmbH)" 
> To: users@tomcat.apache.org 
> Subject: JASPIC AuthConfigProvider packaged with the web application 
> not found
> 
> I would like to develop an AuthConfigProvider and would like to deploy it 
> together in a web application.
> 
> The Tomcat 9 configuration reference for the AuthConfigProvider indicates 
> that "The implementation may be packaged with the web application or in 
> Tomcat's $ CATALINA_BASE / lib directory."
> 
> The variant with the $ CATALINA_BASE / lib directory works as expected. My 
> class of the AuthConfigProvider is found and instantiated.
> The variant of packing the implementation together with the web application 
> does not work. In this case I get a java.lang.ClassNotFoundException.
[SNIP]

You can register it by using a ServletContextListener (or via CDI):

AuthConfigFactory factory = AuthConfigFactory.getFactory(); 
factory.registerConfigProvider(new AuthProvider(), "HttpServlet", null, "TEST");

--
greets
Bernd





-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-18 Thread Christopher Schultz

Bernd,

On 9/17/21 03:52, Bernd Schatz wrote:

Hi Matthias,


Am 17.09.21 um 09:39 schrieb bernd.sch...@daimler.com:

From: "Keil, Matthias (ORISA Software GmbH)" 
To: users@tomcat.apache.org 
Subject: JASPIC AuthConfigProvider packaged with the web application 
not found


I would like to develop an AuthConfigProvider and would like to deploy 
it together in a web application.


The Tomcat 9 configuration reference for the AuthConfigProvider 
indicates that "The implementation may be packaged with the web 
application or in Tomcat's $ CATALINA_BASE / lib directory."


The variant with the $ CATALINA_BASE / lib directory works as 
expected. My class of the AuthConfigProvider is found and instantiated.
The variant of packing the implementation together with the web 
application does not work. In this case I get a 
java.lang.ClassNotFoundException.

[SNIP]

You can register it by using a ServletContextListener (or via CDI):

AuthConfigFactory factory = AuthConfigFactory.getFactory();
factory.registerConfigProvider(new AuthProvider(), "HttpServlet", null, 
"TEST");


Don't forget to:

private String configRegistrationId;

public void contextInitialized(...) {
  AuthConfigFactory factory = AuthConfigFactory.getFactory();
  configRegistrationId = factory.registerConfigProvider(new 
AuthProvider(), "HttpServlet", null,  "TEST");

}

public void contextDestroyed(...) {
  if(null != configRegistrationId) {

AuthConfigFactory.getFactory().removeRegistration(configRegistrationId);
  }
}

... or you will introduce a memory leak.

-chris

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: JASPIC AuthConfigProvider packaged with the web application not found

2021-09-17 Thread Bernd Schatz

Hi Matthias,


Am 17.09.21 um 09:39 schrieb bernd.sch...@daimler.com:

From: "Keil, Matthias (ORISA Software GmbH)" 
To: users@tomcat.apache.org 
Subject: JASPIC AuthConfigProvider packaged with the web application not found

I would like to develop an AuthConfigProvider and would like to deploy it 
together in a web application.

The Tomcat 9 configuration reference for the AuthConfigProvider indicates that "The 
implementation may be packaged with the web application or in Tomcat's $ CATALINA_BASE / 
lib directory."

The variant with the $ CATALINA_BASE / lib directory works as expected. My 
class of the AuthConfigProvider is found and instantiated.
The variant of packing the implementation together with the web application 
does not work. In this case I get a java.lang.ClassNotFoundException.

[SNIP]

You can register it by using a ServletContextListener (or via CDI):

AuthConfigFactory factory = AuthConfigFactory.getFactory();
factory.registerConfigProvider(new AuthProvider(), "HttpServlet", null, 
"TEST");


--
greets
   Bernd





-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



JASPIC AuthConfigProvider packaged with the web application not found

2021-09-16 Thread Keil, Matthias (ORISA Software GmbH)
Hello
I would like to develop an AuthConfigProvider and would like to deploy it 
together in a web application.

The Tomcat 9 configuration reference for the AuthConfigProvider indicates that 
"The implementation may be packaged with the web application or in Tomcat's $ 
CATALINA_BASE / lib directory."

The variant with the $ CATALINA_BASE / lib directory works as expected. My 
class of the AuthConfigProvider is found and instantiated.
The variant of packing the implementation together with the web application 
does not work. In this case I get a java.lang.ClassNotFoundException.

My question: How can I package my implementation together with the web 
application?

Because apparently only a few people implement their own JASPIC modules, 
research at Goolge or in the Mail Archive did not help.
While debugging I saw that at the point where the AuthConfigProvider class is 
loaded, there are no class loaders for the web application.

Technical details
- Tomcat 9.0.37, Windows 10, Tomcat in Eclipse "Use workspace metadata",
- In the configuration files under $ CATALINA_BASE / conf I only adjusted the 
jaspic.xml and entered my class there as the provider

thanks in advance

Matthias

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org