Skip to content

Commit 65f995e

Browse files
committed
Merge pull request apereo#158 from BernhardLenz/cas-client-integration-tomcat-v8
Added Tomcat client v8 to readme and notice files
2 parents 080c66c + 3c5d77b commit 65f995e

3 files changed

Lines changed: 33 additions & 23 deletions

File tree

NOTICE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ This project includes:
3939
Jasig CAS Client for Java - SAML Protocol Support under Apache License Version 2.0
4040
Jasig CAS Client for Java - Tomcat 6.x Integration under Apache License Version 2.0
4141
Jasig CAS Client for Java - Tomcat 7.x Integration under Apache License Version 2.0
42+
Jasig CAS Client for Java - Tomcat 8.x Integration under Apache License Version 2.0
4243
Java Servlet API under CDDL + GPLv2 with classpath exception
4344
JavaBeans Activation Framework (JAF) under Common Development and Distribution License (CDDL) v1.0
4445
JavaMail API under Common Development and Distribution License (CDDL) v1.0

README.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,15 @@ files in the modules (`cas-client-integration-jboss` and `cas-client-support-dis
102102
</dependency>
103103
```
104104

105+
- Tomcat 8 is provided by this dependency:
106+
107+
```xml
108+
<dependency>
109+
<groupId>org.jasig.cas</groupId>
110+
<artifactId>cas-client-integration-tomcat-v8</artifactId>
111+
<version>${java.cas.client.version}</version>
112+
</dependency>
113+
```
105114
<a name="configurtion"></a>
106115
## Configuration
107116

@@ -821,36 +830,36 @@ If you have any trouble, you can enable the log of cas in `jboss-logging.xml` by
821830
</logger>
822831
```
823832

824-
<a name="tomcat-67-integration"></a>
825-
## Tomcat 6/7 Integration
833+
<a name="tomcat-678-integration"></a>
834+
## Tomcat 6/7/8 Integration
826835
The client supports container-based CAS authentication and authorization support for the Tomcat servlet container.
827836

828837
Suppose a single Tomcat container hosts multiple Web applications with similar authentication and authorization needs. Prior to Tomcat container support, each application would require a similar configuration of CAS servlet filters and authorization configuration in the `web.xml` servlet descriptor. Using the new container-based authentication/authorization feature, a single CAS configuration can be applied to the container and leveraged by all Web applications hosted by the container.
829838

830-
CAS authentication support for Tomcat is based on the Tomcat-specific Realm component. The Realm component has a fairly broad surface area and RealmBase is provided as a convenient superclass for custom implementations; the CAS realm implementations derive from `RealmBase`. Unfortunately RealmBase and related components have proven to change over both major and minor number releases, which requires version-specific CAS components for integration. We have provided two packages with similar components with the hope of supporting all 6.x and 7.x versions. **No support for 5.x is provided.**
839+
CAS authentication support for Tomcat is based on the Tomcat-specific Realm component. The Realm component has a fairly broad surface area and RealmBase is provided as a convenient superclass for custom implementations; the CAS realm implementations derive from `RealmBase`. Unfortunately RealmBase and related components have proven to change over both major and minor number releases, which requires version-specific CAS components for integration. We have provided 3 packages with similar components with the hope of supporting all 6.x, 7.x and 8.x versions. **No support for 5.x is provided.**
831840

832841
<a name="component-overview"></a>
833842
### Component Overview
834-
In the following discussion of components, only the Tomcat 6.x components are mentioned. The Tomcat 7.0.x components have exactly the same name, but **are in the tomcat.v7 package**, e.g. `org.jasig.cas.client.tomcat.v7.Cas20CasAuthenticator`.
843+
In the following discussion of components, only the Tomcat 8.x components are mentioned. The Tomcat 7.0.x and 6.0.x components have exactly the same name, but **are in the tomcat.v7 and tomcat.v6 packages**, e.g. `org.jasig.cas.client.tomcat.v7.Cas20CasAuthenticator` or `org.jasig.cas.client.tomcat.v6.Cas20CasAuthenticator`.
835844

836845
<a name="authenticators"></a>
837846
#### Authenticators
838847
Authenticators are responsible for performing CAS authentication using a particular protocol. All protocols supported by the Jasig Java CAS client are supported: CAS 1.0, CAS 2.0, and SAML 1.1. The following components provide protocol-specific support:
839848

840849
```
841-
org.jasig.cas.client.tomcat.v6.Cas10CasAuthenticator
842-
org.jasig.cas.client.tomcat.v6.Cas20CasAuthenticator
843-
org.jasig.cas.client.tomcat.v6.Cas20ProxyCasAuthenticator
844-
org.jasig.cas.client.tomcat.v6.Saml11Authenticator
850+
org.jasig.cas.client.tomcat.v8.Cas10CasAuthenticator
851+
org.jasig.cas.client.tomcat.v8.Cas20CasAuthenticator
852+
org.jasig.cas.client.tomcat.v8.Cas20ProxyCasAuthenticator
853+
org.jasig.cas.client.tomcat.v8.Saml11Authenticator
845854
```
846855

847856
<a name="realms"></a>
848857
#### Realms
849858
In terms of CAS configuration, Tomcat realms serve as containers for users and role definitions. The roles defined in a Tomcat realm may be referenced in the web.xml servlet descriptor to define authorization constraints on Web applications hosted by the container. Two sources of user/role data are supported:
850859

851860
```
852-
org.jasig.cas.client.tomcat.v6.PropertiesCasRealm
853-
org.jasig.cas.client.tomcat.v6.AssertionCasRealm
861+
org.jasig.cas.client.tomcat.v8.PropertiesCasRealm
862+
org.jasig.cas.client.tomcat.v8.AssertionCasRealm
854863
```
855864

856865
`PropertiesCasRealm` uses a Java properties file as a source of static user/role information. This component is conceptually similar to the `MemoryRealm` component that ships with Tomcat and defines user/role data via XML configuration. The PropertiesCasRealm is different in that it explicitly lacks support for passwords, which have no use with CAS.
@@ -865,15 +874,15 @@ A number of Tomcat valves are provided to handle functionality outside Realms an
865874
Logout valves provide a way of destroying the CAS authentication state bound to the container for a particular user/session; the destruction of authenticated state is synonymous with logout for the container and its hosted applications. (Note this does not destroy the CAS SSO session.) The implementations provide various strategies to map a URI onto the state-destroying logout function.
866875

867876
```
868-
org.jasig.cas.client.tomcat.v6.StaticUriLogoutValve
869-
org.jasig.cas.client.tomcat.v6.RegexUriLogoutValve
877+
org.jasig.cas.client.tomcat.v8.StaticUriLogoutValve
878+
org.jasig.cas.client.tomcat.v8.RegexUriLogoutValve
870879
```
871880

872881
##### SingleSignOutValve
873-
The `org.jasig.cas.client.tomcat.v6.SingleSignOutValve` allows the container to participate in CAS single sign-out. In particular this valve handles the SAML LogoutRequest message sent from the CAS server that is delivered when the CAS SSO session ends.
882+
The `org.jasig.cas.client.tomcat.v8.SingleSignOutValve` allows the container to participate in CAS single sign-out. In particular this valve handles the SAML LogoutRequest message sent from the CAS server that is delivered when the CAS SSO session ends.
874883

875884
##### ProxyCallbackValve
876-
The `org.jasig.cas.client.tomcat.v6.ProxyCallbackValve` provides a handler for watching request URIs for requests that contain a proxy callback request in support of the CAS 2.0 protocol proxy feature.
885+
The `org.jasig.cas.client.tomcat.v8.ProxyCallbackValve` provides a handler for watching request URIs for requests that contain a proxy callback request in support of the CAS 2.0 protocol proxy feature.
877886

878887
<a name="container-setup"></a>
879888
### Container Setup
@@ -903,11 +912,11 @@ Alternatively, CAS configuration can be applied to individual Web applications t
903912
This example also configures the container for CAS single sign-out.
904913
-->
905914
<Realm
906-
className="org.jasig.cas.client.tomcat.v6.PropertiesCasRealm"
915+
className="org.jasig.cas.client.tomcat.v8.PropertiesCasRealm"
907916
propertiesFilePath="conf/manager-user-roles.properties"
908917
/>
909918
<Valve
910-
className="org.jasig.cas.client.tomcat.v6.Cas20CasAuthenticator"
919+
className="org.jasig.cas.client.tomcat.v8.Cas20CasAuthenticator"
911920
encoding="UTF-8"
912921
casServerLoginUrl="https://server.example.com/cas/login"
913922
casServerUrlPrefix="https://server.example.com/cas/"
@@ -916,7 +925,7 @@ Alternatively, CAS configuration can be applied to individual Web applications t
916925

917926
<!-- Single sign-out support -->
918927
<Valve
919-
className="org.jasig.cas.client.tomcat.v6.SingleSignOutValve"
928+
className="org.jasig.cas.client.tomcat.v8.SingleSignOutValve"
920929
artifactParameterName="SAMLart"
921930
/>
922931

@@ -926,11 +935,11 @@ Alternatively, CAS configuration can be applied to individual Web applications t
926935
-->
927936
<!--
928937
<Valve
929-
className="org.jasig.cas.client.tomcat.v6.RegexUriLogoutValve"
938+
className="org.jasig.cas.client.tomcat.v8.RegexUriLogoutValve"
930939
logoutUriRegex="/manager/logout.*"
931940
/>
932941
<Valve
933-
className="org.jasig.cas.client.tomcat.v6.StaticUriLogoutValve"
942+
className="org.jasig.cas.client.tomcat.v8.StaticUriLogoutValve"
934943
logoutUri="/manager/logout.html"
935944
/>
936945
-->
@@ -948,11 +957,11 @@ The following example shows how to configure a Context for dynamic role data pro
948957
The attribute used for role data is "memberOf".
949958
-->
950959
<Realm
951-
className="org.jasig.cas.client.tomcat.v6.AssertionCasRealm"
960+
className="org.jasig.cas.client.tomcat.v8.AssertionCasRealm"
952961
roleAttributeName="memberOf"
953962
/>
954963
<Valve
955-
className="org.jasig.cas.client.tomcat.v6.Saml11Authenticator"
964+
className="org.jasig.cas.client.tomcat.v8.Saml11Authenticator"
956965
encoding="UTF-8"
957966
casServerLoginUrl="https://server.example.com/cas/login"
958967
casServerUrlPrefix="https://server.example.com/cas/"
@@ -961,7 +970,7 @@ The following example shows how to configure a Context for dynamic role data pro
961970

962971
<!-- Single sign-out support -->
963972
<Valve
964-
className="org.jasig.cas.client.tomcat.v6.SingleSignOutValve"
973+
className="org.jasig.cas.client.tomcat.v8.SingleSignOutValve"
965974
artifactParameterName="SAMLart"
966975
/>
967976
</Context>

cas-client-integration-tomcat-v8/NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This project includes:
1919
Jasig CAS Client for Java - Common Tomcat Integration Support under Apache License Version 2.0
2020
Jasig CAS Client for Java - Core under Apache License Version 2.0
2121
Jasig CAS Client for Java - SAML Protocol Support under Apache License Version 2.0
22-
Jasig CAS Client for Java - Tomcat 7.x Integration under Apache License Version 2.0
22+
Jasig CAS Client for Java - Tomcat 8.x Integration under Apache License Version 2.0
2323
Java Servlet API under CDDL + GPLv2 with classpath exception
2424
JCL 1.1.1 implemented over SLF4J under MIT License
2525
Joda-Time under Apache 2

0 commit comments

Comments
 (0)