Hi, Paul
As Patrick's suggestion, plus close the <login-config> stanza. Full
suggestion below.
I can't guarantee it's semantically correct (but it looks close to what
I've got),
but it's now syntactically correct (xmlwf is your friend here :-). HTH.
Kind regards,
Steve
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>IdPConfigFile</param-name>
<param-value>file:/C:/shibboleth-idp/etc/idp.xml</param-value>
</context-param>
<servlet>
<servlet-name>IdP</servlet-name>
<display-name>Shibboleth Identity Provider</display-name>
<servlet-class>edu.internet2.middleware.shibboleth.idp.IdPResponder</ser
vlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/SSO</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/AA</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/Artifact</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/Status</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<security-constraint>
<!-- the list of URL patterns that needs to be protected -->
<web-resource-collection>
<web-resource-name>SSO servlet</web-resource-name>
<url-pattern>/SSO</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>account</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Shibboleth form-based authentication</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login-error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>ALL users</description>
<role-name>account</role-name>
</security-role>
</web-app>
-----Original Message-----
From: Discussion list for Shibboleth developments
[mailto:[log in to unmask]] On Behalf Of Patrick Maginn
Sent: 30 April 2009 17:15
To: [log in to unmask]
Subject: Re: Tomcat Based User Authentication
Hi Paul,
Try moving the lines you added before the following:
</web-app>
Regards
Patrick
Patrick Maginn
Technical Specialist,
Salford Software Ltd,
Lancastrian Office Centre
Talbot Road, Old Trafford
Manchester, M32 0FP
Tel: +44 (0) 161 906 1002
Fax: +44 (0) 161 906 1003
www.salfordsoftware.co.uk
The leader in Identity Management Solutions
------------------------------------------------------------------------
--------------------------------------
Important Information
This email is confidential and may contain privileged material. If you
are not the intended recipient then you must not copy it, forward it,
use it for any purpose, or disclose it to another person. Instead please
return it to the sender immediately. Please then delete your copy from
your system.
Please also note that the author of this email cannot conclude any
contract on behalf of Salford Software Ltd by email.
Company Registered in England No. 2252625. VAT Reg. No. 519613442
Academic Enterprises. University of Salford, Salford. M5 4WT
________________________________________
From: Discussion list for Shibboleth developments
[[log in to unmask]] On Behalf Of Paul Cheyne
[[log in to unmask]]
Sent: 30 April 2009 16:55
To: [log in to unmask]
Subject: Tomcat Based User Authentication
Hi All
I am trying to configure tomcat-based Use authentication on my
Shibboleth IDP 1.3 server, but not having much luck
The server is windows server 2003
Apache 2.2.11
Tomcat 6.0.18
Java 5.17
It looks like the problem is with Tomcat at the web.xml file. See the
log below:
Log
30-Apr-2009 16:14:20 org.apache.catalina.startup.ContextConfig
applicationWebConfig
SEVERE: Parse error in application web.xml file at
jndi:/localhost/shibboleth-idp/WEB-INF/web.xml
org.xml.sax.SAXParseException: The markup in the document following the
root element must be well-formed.
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno
wn Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)
at
org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextCo
nfig.java:365)
at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1066)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.j
ava:261)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4252
)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:791)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
1)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
30-Apr-2009 16:14:20 org.apache.catalina.startup.ContextConfig
applicationWebConfig
SEVERE: Occurred at line 44 column 2
30-Apr-2009 16:14:20 org.apache.catalina.startup.ContextConfig start
SEVERE: Marking this application unavailable due to previous error(s)
30-Apr-2009 16:14:20 org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
30-Apr-2009 16:14:20 org.apache.catalina.core.StandardContext start
SEVERE: Context [/shibboleth-idp] startup failed due to previous errors
30-Apr-2009 16:14:21 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
30-Apr-2009 16:14:21 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /127.0.0.1:8009
30-Apr-2009 16:14:21 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=null
30-Apr-2009 16:14:21 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2894 ms
30-Apr-2009 16:18:24 org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
30-Apr-2009 16:18:25 org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
30-Apr-2009 16:18:25 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
30-Apr-2009 16:19:48 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path:
C:\tomcat\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WI
NDOWS;C:\WINDOWS\System32\Wbem;C:\OpenSSL\bin
30-Apr-2009 16:19:48 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
30-Apr-2009 16:19:48 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 700 ms
30-Apr-2009 16:19:48 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
30-Apr-2009 16:19:48 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
30-Apr-2009 16:19:48 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive shibboleth-idp.war
30-Apr-2009 16:19:50 org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 44 column 2: The markup in the
document following the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document following the
root element must be well-formed.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXPar
seException(Unknown Source)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(U
nknown Source)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unk
nown Source)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unk
nown Source)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unkn
own Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingM
iscDispatcher.dispatch(Unknown Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
canDocument(Unknown Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
own Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
own Source)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno
wn Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)
at
org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextCo
nfig.java:365)
at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1066)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.j
ava:261)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4252
)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:791)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
1)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
30-Apr-2009 16:19:50 org.apache.catalina.startup.ContextConfig
applicationWebConfig
SEVERE: Parse error in application web.xml file at
jndi:/localhost/shibboleth-idp/WEB-INF/web.xml
org.xml.sax.SAXParseException: The markup in the document following the
root element must be well-formed.
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno
wn Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)
at
org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextCo
nfig.java:365)
at
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1066)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.j
ava:261)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4252
)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:791)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
1)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:117)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
30-Apr-2009 16:19:50 org.apache.catalina.startup.ContextConfig
applicationWebConfig
SEVERE: Occurred at line 44 column 2
30-Apr-2009 16:19:50 org.apache.catalina.startup.ContextConfig start
SEVERE: Marking this application unavailable due to previous error(s)
30-Apr-2009 16:19:50 org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
30-Apr-2009 16:19:50 org.apache.catalina.core.StandardContext start
SEVERE: Context [/shibboleth-idp] startup failed due to previous errors
30-Apr-2009 16:19:51 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
30-Apr-2009 16:19:51 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /127.0.0.1:8009
30-Apr-2009 16:19:51 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/16 config=null
30-Apr-2009 16:19:51 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2400 ms
Here is a copy of web.xml file
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>IdPConfigFile</param-name>
<param-value>file:/C:/shibboleth-idp/etc/idp.xml</param-value>
</context-param>
<servlet>
<servlet-name>IdP</servlet-name>
<display-name>Shibboleth Identity Provider</display-name>
<servlet-class>edu.internet2.middleware.shibboleth.idp.IdPResponder</ser
vlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/SSO</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/AA</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/Artifact</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IdP</servlet-name>
<url-pattern>/Status</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
</web-app>
<security-constraint>
<!-- the list of URL patterns that needs to be protected -->
<web-resource-collection>
<web-resource-name>SSO servlet</web-resource-name>
<url-pattern>/SSO</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>account</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Shibboleth form-based authentication</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login-error.jsp</form-error-page>
</form-login-config>
<security-role>
<description>ALL users</description>
<role-name>account</role-name>
</security-role>
I added the bold part to the web.xml document
Any help appreciated
Paul Cheyne
Support Consultant
RM (Aberdeen College)
Tel: 01224 (61)2550
Email: [log in to unmask]<mailto:[log in to unmask]>
__________________________________________________________________
You might be interested in this...
RM ICT Tour 2009
With all the pressures placed on teaching staff today, it's increasingly
difficult to justify a full day out to research developments for the
classroom. So you don't miss out, we've teamed up with schools and local
authorities to bring the latest in ICT to a venue near you.
Click
here<http://www.rm.com/Events/EvtDetail.asp?cref=EVT1391360&srcurl=ICS01
0409> for more information and a full list of venues.
__________________________________________________________________
P.S. Think Green - don't print this email unless you really need to.
This message is confidential, so please treat it appropriately and for
its intended purpose only. In particular, if it refers to any technical
data, terms or prices not generally available or known, such items are
"commercially sensitive information" within the terms of the Freedom of
Information Act 2000 and related laws. As it would be prejudicial to
RM's commercial interests if these were disclosed, please refrain from
doing so.
As Internet communications are not secure, please be aware that RM
cannot accept responsibility for its contents. Any views or opinions
presented are those of the author only and not of RM. If you are not the
intended recipient of this e-mail, please accept our apologies and
arrange for copies of it to be deleted. For your information, RM may
intercept incoming and outgoing email communications.
RM Education plc
Registered Office: New Mill House, 183 Milton Park, Abingdon,
Oxfordshire, OX14 4SE, England
Registered Number: 1148594
|