WAR覆盖安装
CAS的安装是一个从根本上source-oriented过程,我们推荐一个 WAR覆盖 项目组织 定制组件配置和UI设计等。 WAR叠加的输出是一个构建 cas.war
文件,可以部署在一个Java servlet容器 Tomcat 。
WAR覆盖项目提供参考和研究。
Gradle
Maven
CAS使用Spring Webflow来驱动模块化和可配置的方式登录过程; login-webflow.xml
文件包含一个简单的描述流动的状态和转换。 定制这个文件可能是 最常见的配置问题除了组件配置Spring XML配置文件。 看到 Spring Webflow定制指南的全面描述各种CAS流和共同讨论 配置点。
Spring配置
CAS服务器在很大程度上依赖于Spring框架。 有精确和特定的XML配置文件 spring配置
目录,CAS各种属性以及控制cas-servlet.xml
和 deployerConfigContext.xml
后者基本上由CAS采用者将包含特定于环境的CAS叠加的设置。
Spring bean可以覆盖在XML配置文件改变行为如果需要通过Maven叠加的过程。 有两种方法:
- XML文件可以从源获得CAS版本和放置在相同的路径相同的名字在Maven覆盖。 如果正确配置,构建将使用当地提供XML文件,而不是默认的。
- CAS服务器能够负载模式的XML配置文件来覆盖默认提供。 这些配置文件,打算否决可以放置在CAS的默认行为
/ web - inf /
,必须被以下模式:cas-servlet - * . xml
。bean放在这个文件将覆盖其他。
自定义和第三方来源
是很常见的定制或扩展ca的功能实现CAS api或开发Java组件 包括第三方通过Maven依赖引用来源。 包括第三方来源是微不足道的;仅仅包括 相关的依赖项的叠加 pom.xml
文件。 为了包括自定义Java源代码,它应该包括在内 在一个 src / java /主要
目录覆盖项目源代码树。
├── src
│ ├── main
│ │ ├── java
│ │ │ └── edu
│ │ │ └── vt
│ │ │ └── middleware
│ │ │ └── cas
│ │ │ ├── audit
│ │ │ │ ├── CompactSlf4jAuditTrailManager.java
│ │ │ │ ├── CredentialsResourceResolver.java
│ │ │ │ ├── ServiceResourceResolver.java
│ │ │ │ └── TicketOrCredentialPrincipalResolver.java
│ │ │ ├── authentication
│ │ │ │ └── principal
│ │ │ │ ├── AbstractCredentialsToPrincipalResolver.java
│ │ │ │ ├── PDCCredentialsToPrincipalResolver.java
│ │ │ │ └── UsernamePasswordCredentialsToPrincipalResolver.java
│ │ │ ├── services
│ │ │ │ └── JsonServiceRegistryDao.java
│ │ │ ├── util
│ │ │ │ └── X509Helper.java
│ │ │ └── web
│ │ │ ├── HelpController.java
│ │ │ ├── RegisteredServiceController.java
│ │ │ ├── StatsController.java
│ │ │ ├── WarnController.java
│ │ │ ├── flow
│ │ │ │ ├── AbstractForgottenCredentialAction.java
│ │ │ │ ├── AbstractLdapQueryAction.java
│ │ │ │ ├── AffiliationHandlerAction.java
│ │ │ │ ├── CheckAccountRecoveryMaintenanceAction.java
│ │ │ │ ├── CheckPasswordExpirationAction.java
│ │ │ │ ├── ForgottenCredentialTypeAction.java
│ │ │ │ ├── LookupRegisteredServiceAction.java
│ │ │ │ ├── NoSuchFlowHandler.java
│ │ │ │ ├── User.java
│ │ │ │ ├── UserLookupAction.java
│ │ │ │ └── WarnCookieHandlerAction.java
│ │ │ └── util
│ │ │ ├── ProtocolParameterAuthority.java
│ │ │ ├── UriEncoder.java
│ │ │ └── UrlBuilder.java
另外,请注意,对于任何自定义Java组件编译和被包括在决赛 cas.war
文件, pom.xml
在Maven叠加必须包括Maven Java编译器的引用类可以编译。
这是一个 样本 Maven构建配置:
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warName>cas</warName>
<overlays>
<overlay>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-webapp</artifactId>
<excludes>
<exclude>WEB-INF/cas.properties</exclude>
<exclude>WEB-INF/classes/log4j.xml</exclude>
<exclude>...</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.source.version}</source>
<target>${java.target.version}</target>
</configuration>
</plugin>
</plugins>
<finalName>cas</finalName>
</build>
...
(1)生成的文件系统层次结构可视化 树
程序。
参考资料:https://apereo.github.io/cas/4.2.x/installation/Maven-Overlay-Installation.html