tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brambilla Alessandro <a.brambi...@pride.it>
Subject R: R: Form Authentication against JNDI Datasource Realm
Date Wed, 12 Apr 2006 15:33:52 GMT
so now these are my config files:

server.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
	parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
	which may contain one or more "Service" instances.  The Server
	listens for a shutdown command on the indicated port.
	
	Note:  A "Server" is not itself a "Container", so you may not
	define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN" debug="0">

	<Listener
	
className="org.apache.catalina.mbeans.ServerLifecycleListener"
		debug="0" />
	<Listener
	
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
		debug="0" />

	<!-- Global JNDI resources -->
	<GlobalNamingResources>
		<!-- Editable user database that can also be used by
			UserDatabaseRealm to authenticate users -->
		<Resource name="UserDatabase" auth="Container"
			type="org.apache.catalina.UserDatabase"
			description="User database that can be updated and
saved">
		</Resource>
		<ResourceParams name="UserDatabase">
			<parameter>
				<name>factory</name>
				<value>
	
org.apache.catalina.users.MemoryUserDatabaseFactory
				</value>
			</parameter>
			<parameter>
				<name>pathname</name>
				<value>conf/tomcat-users.xml</value>
			</parameter>
		</ResourceParams>

		
	</GlobalNamingResources>

	<!-- A "Service" is a collection of one or more "Connectors" that
share
		a single "Container" (and therefore the web applications
visible
		within that Container).  Normally, that Container is an
"Engine",
		but this is not required.
		
		Note:  A "Service" is not itself a "Container", so you may
not
		define subcomponents such as "Valves" or "Loggers" at this
level.
	-->

	<!-- Define the Tomcat Stand-Alone Service -->
	<Service name="Catalina">

		<!-- A "Connector" represents an endpoint by which requests
are received
			and responses are returned.  Each Connector passes
requests on to the
			associated "Container" (normally an Engine) for
processing.
			
			
		-->

		<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port
specified
			during installation  -->
		<Connector port="8080" maxThreads="150" minSpareThreads="25"
			maxSpareThreads="75" enableLookups="false"
redirectPort="8443"
			acceptCount="100" debug="0"
connectionTimeout="20000"
			disableUploadTimeout="true" compression="on"
			compressionMinSize="2048"
compressableMimeType="text/html,text/xml" />

		<!-- Note : To use gzip compression you could set the
following properties :
			
			compression="on" 
			compressionMinSize="2048" 
			noCompressionUserAgents="gozilla, traviata" 
			compressableMimeType="text/html,text/xml"
		-->
		<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->

		<Connector port="8443" maxThreads="150" minSpareThreads="25"
			maxSpareThreads="75" enableLookups="false"
			disableUploadTimeout="true" acceptCount="100"
debug="0"
			scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS"
			compression="on" />


		<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
		<Connector port="8009" enableLookups="false"
redirectPort="8443"
			debug="0" protocol="AJP/1.3" />

		<!-- An Engine represents the entry point (within Catalina)
that processes
			every request.  The Engine implementation for Tomcat
stand alone
			analyzes the HTTP headers included with the request,
and passes them
			on to the appropriate Host (virtual host). -->

		<!-- You should set jvmRoute to support load-balancing via
JK/JK2 ie :
			<Engine name="Standalone" defaultHost="localhost"
debug="0" jvmRoute="jvm1">         
		-->

		<!-- Define the top level container in our container
hierarchy -->
		<Engine name="Catalina" defaultHost="localhost" debug="0">


			<!-- Request dumping is disabled by default.
Uncomment the following
				element to enable it. -->
			<!--
				<Valve
className="org.apache.catalina.valves.RequestDumperValve"/>
			-->

			<!-- Global logger unless overridden at lower levels
-->
			<Logger
className="org.apache.catalina.logger.FileLogger"
				prefix="catalina_log." suffix=".txt"
timestamp="true" />

			<!-- Because this Realm is here, an instance will be
shared globally -->

			<!-- This Realm uses the UserDatabase configured in
the global JNDI
				resources under the key "UserDatabase".  Any
edits
				that are performed against this UserDatabase
are immediately
				available for use by the Realm.  -->
			<Realm
	
className="org.apache.catalina.realm.UserDatabaseRealm" debug="0"
				resourceName="UserDatabase" />


			<!-- Define the default virtual host
				Note: XML Schema validation will not work
with Xerces 2.2.
			-->
			<Host name="localhost" debug="0" appBase="webapps"
				unpackWARs="true" autoDeploy="true"
xmlValidation="false"
				xmlNamespaceAware="false">


				<!-- Normally, users must authenticate
themselves to each web app
					individually.  Uncomment the
following entry if you would like
					a user to be authenticated the first
time they encounter a
					resource protected by a security
constraint, and then have that
					user identity maintained across
*all* web applications contained
					in this virtual host. -->
				<!--
					<Valve
className="org.apache.catalina.authenticator.SingleSignOn"
					debug="0"/>
				-->

				<!-- Access log processes all requests for
this virtual host.  By
					default, log files are created in
the "logs" directory relative to
					$CATALINA_HOME.  If you wish, you
can specify a different
					directory with the "directory"
attribute.  Specify either a relative
					(to $CATALINA_HOME) or absolute path
to the desired directory.
				-->

				<Valve
	
className="org.apache.catalina.valves.AccessLogValve"
					directory="logs"
prefix="localhost_access_log." suffix=".txt"
					pattern="common"
resolveHosts="false" />


				<!-- Logger shared by all Contexts related
to this virtual host.  By
					default (when using FileLogger), log
files are created in the "logs"
					directory relative to
$CATALINA_HOME.  If you wish, you can specify
					a different directory with the
"directory" attribute.  Specify either a
					relative (to $CATALINA_HOME) or
absolute path to the desired
					directory.-->
				<Logger
	
className="org.apache.catalina.logger.FileLogger" directory="logs"
					prefix="localhost_log."
suffix=".txt" timestamp="true" />


				<Context docBase="PMS" path="/PMS"
reloadable="true"
	
source="org.eclipse.jst.j2ee.server:PMS">
					<Realm
	
classname="org.apache.catalina.realm.JDBCRealm" debug="99"
	
driverName="org.gjt.mm.mysql.Driver"
	
connectionURL="jdbc:mysql://localhost:3306/pms?user=usr&amp;password=pass"
						userTable="users"
userRoleTable="roles" userNameCol="username"
						userCredCol="password"
roleNameCol="role"/>
				</Context>
			</Host>


		</Engine>

	</Service>

</Server>

2. Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
	<display-name>PMS</display-name>
	<welcome-file-list>
		<welcome-file>home.jsp</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

	<!-- Sezione di gestione dell'accesso. l'autorizzazione è verificata

		utilizzando un'autenticazione basata su form -->

	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Entire
Application</web-resource-name>
			<description>
				L'accesso è consentito solo agli utenti
autorizzati
			</description>
			<url-pattern>/*</url-pattern><!--  Tutti i file
dell'applicazione -->
		</web-resource-collection>
		<auth-constraint>
			<description>
				Questi sono i ruoli che hanno accesso al
sito
			</description>
			<role-name>root</role-name>
		</auth-constraint>

		<!--  seleziona la forma di sicureza a livello di trasporto
dati:
			NONE = nessuna CONFIDENTIAL o INTEGRAL = SSL Tunnel
-->
		<user-data-constraint>
			<!--  dovrà essere almeno CONFIDENTIAL se non
INTEGRAL.. -->
			<transport-guarantee>NONE</transport-guarantee>
		</user-data-constraint>
	</security-constraint>

	<!--  login via Form Authentication -->
	<login-config>
		<auth-method>FORM</auth-method>
		<form-login-config>
			<form-login-page>/login.jsp</form-login-page>
			<form-error-page>
				/ErrorPages/loginError.jsp
			</form-error-page>
		</form-login-config>
	</login-config>

	<!--  Ruoli ammessi ad accedere al sito -->
	<security-role>
		<description>Amministratore del sito</description>
		<role-name>root</role-name>
	</security-role>

</web-app>


they looks very closer to yours "working file" right?
so.. why I cannot even start tomcat now?? 

I get that output:

12-apr-2006 17.28.03 org.apache.commons.digester.Digester startElement
GRAVE: Begin event threw exception
java.lang.NullPointerException
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:769)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:721)
	at
org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:252
)
	at org.apache.commons.digester.Rule.begin(Rule.java:200)
	at
org.apache.commons.digester.Digester.startElement(Digester.java:1273)
	at
org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java
:65)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
	at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1548)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:250)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:424)
Catalina.start using conf/server.xml: java.lang.NullPointerException
java.lang.NullPointerException
	at
org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
	at
org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
	at
org.apache.commons.digester.Digester.startElement(Digester.java:1276)
	at
org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java
:65)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
	at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1548)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:250)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:424)
12-apr-2006 17.28.03 org.apache.commons.digester.Digester startElement
GRAVE: Begin event threw exception
java.lang.NullPointerException
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:769)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:721)
	at
org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:252
)
	at org.apache.commons.digester.Rule.begin(Rule.java:200)
	at
org.apache.commons.digester.Digester.startElement(Digester.java:1273)
	at
org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java
:65)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
	at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1548)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:548)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Catalina.start using conf/server.xml: java.lang.NullPointerException
java.lang.NullPointerException
	at
org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
	at
org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
	at
org.apache.commons.digester.Digester.startElement(Digester.java:1276)
	at
org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java
:65)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
	at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1548)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:548)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
12-apr-2006 17.28.03 org.apache.catalina.startup.Catalina start
INFO: Server startup in 0 ms
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: java.lang.NullPointerException
	at org.apache.catalina.startup.Catalina.await(Catalina.java:619)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:579)
	... 6 more

I'm thinking about Connector/J jar file.. but it's in the right location..
(Catilina_home/common/lib/)..

I'm getting crazy and I have no IDEA!!! better to shut down and go home...

Bye 
Ale






-----Messaggio originale-----
Da: Franck Borel [mailto:borel@ub.uni-freiburg.de]
Inviato: mercoledì 12 aprile 2006 16.54
A: Tomcat Users List
Oggetto: Re: R: Form Authentication against JNDI Datasource Realm




The server.xml is looking for Windows like server.xml for all other OS. 
Tomcat is written in pure Java, so mostly is looking the same in any 
operating system.
I give you a working example with a postgres implementation and you can 
try to make it run on your machine:
[....]

====================================================================
Dipl.-Hyd. Franck Borel               Universitaetsbibliothek Freiburg
EMail: borel@ub.uni-freiburg.de       EDV-Dezernat
Tel. : +49-761 / 203-3908             Werthmannplatz 2 | Postfach 1629
Fax  : +49-761 / 203-3987             79098 Freiburg   | 79016 Freiburg



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


Mime
View raw message