Re: Attempting JAAS Authentication throws ArrayIndexOutOfBoundsException in NTSystem

2006-09-28 Thread Henry McClain

Turns out that stoping/starting the Tomcat service with the Tomcat provided
service control panel was causing the problem. Using the Windows Services
control panel, for whatever reason, allows my authentication scheme to work
correctly.

H


On 9/21/06, Henry McClain [EMAIL PROTECTED] wrote:


Gentlemen,

I am attempting to authenticate users via JAAS NTLoginModule and
repeatedly recieve an ArrayIndexOutOfBoundsException wrapped in a
LoginException. The error is (packages removed for confidentiality
purposes):

javax.security.auth.login.LoginException :
java.lang.ArrayIndexOutOfBoundsException
at com.sun.security.auth.module.NTSystem.getCurrent(Native Method)
at com.sun.security.auth.module.NTSystem.init(Unknown Source)
at com.sun.security.auth.module.NTLoginModule.login(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.invoke (Unknown Source)
at javax.security.auth.login.LoginContext.access$000(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv (Unknown Source)
at javax.security.auth.login.LoginContext.login(Unknown Source)
at ---confidential .UserServiceBean.authenticate(
UserServiceBean.java:40)
at ---confidential .UserServiceBean.registerNewUser(
UserServiceBean.java:130)
at ---confidential .servlets.AppManagerInitServlet.init(
AppManagerInitServlet.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java
:243)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(
SecurityUtil.java:161)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(
SecurityUtil.java:114)
at org.apache.catalina.core.StandardWrapper.loadServlet(
StandardWrapper.java:1099)
at org.apache.catalina.core.StandardWrapper.load (StandardWrapper.java
:932)
at org.apache.catalina.core.StandardContext.loadOnStartup(
StandardContext.java:3917)
at org.apache.catalina.core.StandardContext.start(StandardContext.java
:4201)
at org.apache.catalina.core.ContainerBase.addChildInternal(
ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.access$000(
ContainerBase.java:121)
at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run (
ContainerBase.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java
:737)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
:524)
at org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java
:809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java
:698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent (
HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1013)
at org.apache.catalina.core.StandardEngine.start (StandardEngine.java
:442)
at org.apache.catalina.core.StandardService.start(StandardService.java
:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java
:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java :294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

NTSystem.getCurrent(Native Method) is a private method of NTSystem .

This code executed as a standalone application works perfectly. This code
executed in Tomcat 5.5 (not a servlet) fails. I have exhaustively
researched

Attempting JAAS Authentication throws ArrayIndexOutOfBoundsException in NTSystem

2006-09-21 Thread Henry McClain
the Catalina SecurityManager. For testing purposes, I have given my web
application java.security.AllPermission until this can be resolved. Beyond
instantiating a LoginContext and passing it my CallbackHandler I have no
idea why this would fail, especially since it works in one environment and
not another.

Please help.
=

My environment:
Windows XP SP2
JDK 1.5.0_06 ( I have also tested on 1.5.0_08 with the same results)
Tomcat 5.5.17

Relevant JVM switches:
-Djava.security.manager
-Djava.security.policy=D:\Program Files\Apache Software Foundation\Tomcat
5.5\conf\catalina.policy
-Djava.security.auth.login.config=D:\Program Files\Apache Software
Foundation\Tomcat 5.5\conf\jaas.conf

catalina.policy
// FOR TESTING PURPOSES ONLY
grant codeBase file:${catalina.home}/webapps/myapp/- {
   permission java.security.AllPermission;
};

JAAS Config File:
mydomain {
   com.sun.security.auth.module.NTLoginModule required debug=true;
};



--
Henry McClain

Life is hard. Wear a helmet
Tell your wife that she looks pretty, even if she looks like a truck.
--


Re: Need Help w. Servlets And The JDBC.

2006-09-21 Thread Henry McClain

I am currently using the Microsoft SQL Server 2005 JDBC Driver. It is free.
If you need to connect to a SQL Server 2000 or 2005, this is a good driver.

On 9/21/06, Caldarale, Charles R [EMAIL PROTECTED] wrote:


 From: Steve R Burrus [mailto:[EMAIL PROTECTED]
 Subject: Re: Need Help w. Servlets And The JDBC.

 I don't suppose that on the Tomcat site there is a Type 4
 database driver , which I have read is the preferred driver
 to get because it is pure Java, is there instead of the 1
 which I assume I can always get at java.sun.com?

Your assumptions are incorrect.  Each data base vendor must supply an
appropriate JDBC driver, hopefully a type 4 (pure Java) version.  There
is no generic, all purpose JDBC driver.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Henry McClain

Life is hard. Wear a helmet
Tell your wife that she looks pretty, even if she looks like a truck.
--