This works for me with a clean install of trunk (with appropriate
configuration). There have been no relevant changes since 9.0.14.

It looks like the CATALINA_BASE environment variable is not set or can't
be found for some reason. It might be related to running as a Windows
service - that needs further investigation.

If you want to dig into this you can debug you way through the Tomcat
code (remote debugging with a break-point at line 218 of
JAASCallbackHandler would be the place to start). Alternatively, if you
just want a quick fix, explicitly setting the pathname attribute of the
JAASMemoryLoginModule to the absolute path to the tomcat-users.xml file
should work.

Mark




On 08/01/2019 16:31, PJ Pillai wrote:
> Hi Christopher,
> 
> This is no issue with loading jaas.config. The file is loaded fine. I've
> set the java options as below.
> -Djava.security.auth.login.config=C:\Program Files\Apache Software
> Foundation\Tomcat 9.0\conf\jaas.config
> 
> The above path is correct. Just to verify if the file is loaded, I changed
> the path to that do not exist and I go the file not exception. This proves
> that the value I've for jaas.config is right.
> Did you look at code below that I pointed out? This code output that
> warning message
> 
> https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/r
> ealm/JAASMemoryLoginModule.java#L384
> 
> Thanks,
> PJ
> 
> 
> On Sat, Jan 5, 2019 at 7:04 AM Christopher Schultz <
> ch...@christopherschultz.net> wrote:
> 
> PJ,
> 
> On 1/3/19 12:09, PJ Pillai wrote:
>>>> Hi Christopher,
>>>>
>>>> This is no an issue with locating jaas.config. I've set it in java
>>>> options as -Djava.security.auth.login.config=C:\Program
>>>> Files\Apache Software Foundation\Tomcat 9.0\conf\jaas.config I also
>>>> tested changing a file that do not exist and I got the FileNotFound
>>>> exception so it is not the issue with jaas.config.
>>>>
>>>> From the code what I read is that JAASMemoryLoginModule pathname
>>>> still using the default value (conf/tomcat-users.xml), Tomcat is
>>>> running on Windows so not sure why pathname is
>>>> conf/tomcat-users.xml).
>>>>
>>>> See the line below in the code that log this warning message.
>>>> https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/r
> ealm/JAASMemoryLoginModule.java#L384
> <https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java#L384>
>>>>
>>>>  see attached log file. All the JVM arguments in the log are
>>>> correct.
> 
> Your attachment was stripped from the mailing list.
> 
> conf/tomcat-users.xml is never used as a JAAS configuration file. That
> is a user database.
> 
> The slashes are "backward" for you because \ is a metacharacter in
> almost every OS and programming language. Java translates / to \ on
> Windows as necessary.
> 
> -chris
> 
>>>> On Thu, Jan 3, 2019 at 6:55 AM Christopher Schultz
>>>> <ch...@christopherschultz.net
>>>> <mailto:ch...@christopherschultz.net>> wrote:
>>>>
>>>> PJ,
>>>>
>>>> On 1/2/19 22:15, PJ Pillai wrote:
>>>>> Here is additional information. 1. Tomcat is running on Windows
>>>>> 2016 server. 2. Tomcat is started as windows service.
>>>>
>>>>> I tried Tomcat 8.5 as well and still get the same warning
>>>>> message and user is not authenticated.
>>>>
>>>> Did you copy all your system properties from your Tomcat 6 service
>>>> to your Tomcat 9 service? Look in thew "JVM Parameters" (or
>>>> whatever) section of the Tomcat service manager (tomcat9w.exe).
>>>>
>>>> Tomcat needs to know where the JAAS config file is, and that's
>>>> done through a system property. If that property wasn't copied from
>>>> the old service, it probably won't work.
>>>>
>>>> -chris
>>>>
>>>>> On Wed, Jan 2, 2019 at 5:00 PM PJ Pillai <pjpil...@gmail.com
>>>> <mailto:pjpil...@gmail.com>>
>>>>> wrote:
>>>>
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> I'm using JAASMemoryLoginModule to authenticate users stored
>>>>>> in tomcat-users.xml. The authentication fails on Tomcat 9 with
>>>>>> following warning message in catalina.xx.log.
>>>>>>
>>>>>> org.apache.catalina.realm.JAASMemoryLoginModule.load Unable to
>>>>>> determine Catalina base to load file [conf/tomcat-users.xml]
>>>>>>
>>>>>>
>>>>>> Here is a stack trace from the web application:
>>>>>>
>>>>>> javax.security.auth.login.FailedLoginException: User name or
>>>>>> password is incorrect at
>>>>>> org.apache.catalina.realm.JAASMemoryLoginModule.login(JAASMemoryLogi
> n
>>>>
>>>>>>
> Module.java:350)
>>>>>>
>>>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>> at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> .
>>>>
>>>>>>
> java:62)
>>>>>>
>>>>>>
>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> s
>>>>
>>>>>>
> sorImpl.java:43)
>>>>>>
>>>>>>
>>>> at java.lang.reflect.Method.invoke(Method.java:483)
>>>>>> at
>>>>>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
>>>>>>
>>>>>>
>>>>
>>>>>>
> at javax.security.auth.login.LoginContext.access$000(LoginContext.java:1
>>>> 95)
>>>>>> at
>>>>>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
>>>>>>
>>>>>>
>>>>
>>>>>>
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at
>>>>>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:
> 6
>>>>
>>>>>>
> 80)
>>>>>>
>>>>>>
>>>> at
>>>> javax.security.auth.login.LoginContext.login(LoginContext.java:587)
>>>>>>
>>>>>>
>>>>>>
>>>>
> Now the same jaas config and same JVM args, it works fine on
>>>>>> Tomcat 6.
>>>>>>
>>>>>> -Djava.security.auth.login.config=C:\Program Files\Apache
>>>>>> Software Foundation\Tomcat 9.0\conf\jaas.config
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Please help.
>>>>>>
>>>>>> Thanks, PJ
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>
>>>>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>> <mailto:users-unsubscr...@tomcat.apache.org> For additional
>>>> commands, e-mail: users-h...@tomcat.apache.org
>>>> <mailto:users-h...@tomcat.apache.org>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>
>>>>
> 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
>>
>>
> 


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

Reply via email to