ããã«ã¡ã¯ãHabroèªè ã®çããã JASIG CASã«é¢ããäžé£ã®èšäºã®ç¶ãã§ãã ãã®ããŒãã§ã¯ãCASã¢ãŒãã£ãã¡ã¯ããåéããŠäœæ¥ãéå§ããæ¹æ³ã説æããŸãã ããã«èªãåã«ã æåã®ããŒãããèªã¿ãã ããã
ç§ãã¡ã¯èª¿æŽããéããŸãã...æŽçããŸããã
圌ããèšãããã«ãæ£ããæ 床ã¯æŠãã®ååã§ãã CASã®ããŒãžã§ã³ãé©åã«æ§æããã³æ§ç¯ããã«ã¯ãSpringãšMavenãã©ã®ããã«æ©èœããããååã«ç解ããå¿ èŠããããŸãã
CASèšå®ã®æåããæåŸãŸã§ãç¥ãããå Žåã¯ã ããã«ããŸãã æåã®èšäºã§èª¬æããç°å¢ã§CASãæ£åžžã«èµ·åããããã«ç¥ã£ãŠããå¿ èŠãããåºæ¬çãªããšã«ã€ããŠèª¬æããŸãã
æåã«ãæ§æã«å¿ èŠãªãã¡ã€ã«ããªã¹ãããŸãã ãã®åŸãç§ãæãéèŠã ãšæããã®ã«ã€ããŠèª¬æããŸãã å ã®ãªã¹ãã¯ããã«ãããŸã ã
æ§æãã¡ã€ã«
- WEB-INF / classes / log4j.xmlã ãã®ãã¡ã€ã«ã«ã¯ããã®ã³ã°èšå®ãå«ãŸããŠããŸãã å¿ èŠã«å¿ããŠãç¬èªã®ãã¬ãŒãè¿œå ã§ããŸããCASã¯å¶éã課ããŸããã
- WEB-INF / cas-servlet.xmlã ããã¯ãCASãµãŒãã¹URLãåŠçãããµãŒãã¬ããã®Spring MVCæ§æã§ãã
- WEB-INF / cas.propertiesã ããã«ã¯ããµãŒãã¹ãµãŒãã¹URLãSQLãã€ã¢ã¬ã¯ããããã³äžè¬çã«èãããããã¹ãŠã®ããããã£ãå«ãŸããŠããŸããããã«è¿œå ã§ããŸãã
- WEB-INF / deployerConfigContext.xmlã ã»ãšãã©ãã¹ãŠã®ãµãŒãã¹èšå®ã¯ãã®ãã¡ã€ã«ã«ãããŸãã
- WEB-INF / login-webflow.xmlã ããã§ãSpring Web Flowã®å©ããåããŠãæ¿èªãããŒãæ§æãããŸãã
- WEB-INF / restlet-servlet.xmlã RESTful APIã®ã»ããã¢ããã çè«çã«ã¯ããã®ãã¡ã€ã«ãå€æŽããå¿ èŠã¯ãããŸããã
- WEB-INF /ã¯ã©ã¹/ã¡ãã»ãŒãž_ *ãããããã£ã ããã¯ãCASã®ããŒã«ã©ã€ãºã«äœ¿çšãããããããã£ãã¡ã€ã«ã®ã»ããã§ãã
- WEB-INF / spring-configurationã ãã®ãã£ã¬ã¯ããªã«ã¯ãã»ãšãã©ã®ã³ã³ããŒãã³ãã®èšå®ãå«ãŸããŠããŸãã ãããã®å€ãã¯ç°¡åã«åå®çŸ©ã§ããŸãã
WEB-INF / spring-configurationã«ããæ§æãã¡ã€ã«
- applicationContext.xmlã Autowiringã¹ã±ãžã¥ãŒã©ãQuartzã¿ã¹ã¯èšå®ãªã©ãéåžžåå®çŸ©ããå¿ èŠã®ãªãæšæºBeanãå«ãŸããŠããŸãã
- ticketRegistry.xmlã ãã±ããç»é²ã å€æŽããããšã¯ãŸããããŸããã
- argumentExtractorsConfiguration.xmlã ãããã³ã«ã®éžæãæ åœããŸãã ããã©ã«ãã§ã¯ãCASããã³SAMLã
- propertyFileConfigurer.xmlã ããããã£ãååŸããå Žæããã®ãã¹ãæå®ããŸãã ããã©ã«ãã§ã¯WEB-INF / cas.propertiesãã
- securityContext.xmlã
- ticketExpirationPolicies.xmlã ãã±ããã®äœæãšæ€èšŒã«é¢é£ããèšå®ã
- ticketGrantingTicketCookieGenerator.xmlã TGTãäœæããæ¹æ³ã説æããŸãã ã»ãšãã©ã®å Žåãå€æŽããå¿
èŠã¯ãããŸããã
deploymentconfigContext.xml
ãããã£ãŠãäž»èŠãªCASæ§æãã¡ã€ã«ã¯deployerConfigContext.xmlã§ãã ããã¯ããªã倧ããªãã¡ã€ã«ãªã®ã§ãäžããäžã«æççã«è§£æããŸãã
ãã¡ã€ã«ã®æåã«ãè³æ Œæ å ±ãªãŸã«ããŒã®ãªã¹ãããããŸãã ãªãŸã«ãã¯ããµãŒããŒã«å°çããæ¿èªãªã¯ãšã¹ãããè³æ Œæ å ±ãååŸãã責任ããããŸãã
<property name="credentialsToPrincipalResolvers"> ... </property>
èªèšŒãã©ãŒã ããæäŸããããã°ã€ã³/ãã¹ã¯ãŒã以å€ã䜿çšããªãå Žåããã®ã»ã¯ã·ã§ã³ã¯ãã®ãŸãŸã«ããŠãããŠããŸããŸããã
以äžã¯ãCASãåä¿¡ããè³æ Œæ å ±ã䜿çšããæ¹æ³ãæ åœãããã³ãã©ãŒã®èª¬æã§ãã LDAPã§ãŠãŒã¶ãŒãæ€çŽ¢ããããã«äœ¿çšããŸã
<property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler" p:filter="userLogin =%u" p:searchBase="" p:timeout="${ldapReadConnectTimeout}" p:contextSource-ref="contextSource"/> </property>
éèŠïŒ 補åç°å¢ã§ã¯ãå¿ ãSimpleTestUsernamePasswordAuthenticationHandlerãåé€ããŠãã ããã
éèŠïŒ pãã©ã¡ãŒã¿ã«æ³šæããŠãã ããïŒtimeout = "$ {ldapReadConnectTimeout}" ã ããã¯ãLDAPã䜿çšããèªã¿åã/æ¥ç¶ã¿ã€ã ã¢ãŠãã§ãã ãã®ãã©ã¡ãŒã¿ãŒãèšå®ããªããšãæšæºãã©ã¡ãŒã¿ãŒã¯äžæžãããããèšå®ãã©ã¡ãŒã¿ãŒcom.sun.jndi.ldap.connect.timeout com.sun.jndi.ldap.read.timeoutã«ã€ããŠã確èªãããŸãããããã«ã€ããŠã¯åŸã§èª¬æããŸãã
次ã®æ§æãããã¯ã¯ããŠãŒã¶ãŒããŒã¿ãœãŒã¹ã®æ§æã«é¢é£ä»ããããŠããŸãã ãŠãŒã¶ãŒãopenLdapã«ä¿åãããŠããå Žåã®æ§æäŸã瀺ããŸãã
LDAPã§ãŠãŒã¶ãŒãæ€çŽ¢ããã«ã¯ã2ã€ã®æ¹æ³ããããŸãã
- FastBindLdapAuthenticationHandlerã ããã¯æéã§ãããè³æ Œæ
å ±ããèå¥åïŒDNïŒãçŽæ¥æ§ç¯ã§ããå Žåã«ã®ã¿é©ããŠããŸãã uid =ïŒ
uãou = usersãdc = domainã ããã§ãïŒ
uã¯æäŸããããã°ã€ã³ã§ãã
- BindLdapAuthenticationHandlerã å°ãé
ããªããŸãããé©åãªã¬ã³ãŒããéžæããèªç±ãå¢ããŸãã 2段éã§åäœããŸã-æåããLDAPãã€ã³ããçºçããŸãã ãã€ã³ãã®è³æ Œæ
å ±ã¯contextSourceããååŸãããŸããããã«ã€ããŠã¯åŸã§èª¬æããŸãã
ã¹ããŒãž2- ãã£ã«ã¿ãŒã䜿çšããLDAPæ€çŽ¢ã
éèŠïŒ LDAPã䜿çšããå ŽåãããŒã¹ã¯æ€çŽ¢æäœãšãã€ã³ãæäœã§ç°ãªãæ¹æ³ã§äœ¿çšãããŸãã ãã€ã³ãã®å Žåã¯ãåžžã«ãšã³ããªã®ãã«ããŒã ãæå®ããå¿ èŠããããŸããããšãã°ãcn = userãdc = ssoãdc = ruãbaseã¯dc = ssoãdc = ruã§ãã ãããã£ãŠãcontextSourceèšå®ã®ããŒã¹ã¯åžžã«å ¥åããå¿ èŠããããuserDNã¯åžžã«CASãLDAPã§èš±å¯ããããŠãŒã¶ãŒã®ãã«ããŒã ã§ãã
æ€çŽ¢äžã«ãæ€çŽ¢é åãå¶éããããã«searchBaseãæ€çŽ¢ãã£ã«ã¿ãŒã«è¿œå ãããŸãã 空ã®å ŽåããããŸãããã®å Žåããã£ã¬ã¯ããªå ã®æ€çŽ¢æ¡ä»¶ã¯ãã£ã«ã¿ãŒã«ãã£ãŠã®ã¿æ±ºå®ãããŸãã
contextSourceãèšå®ããäŸã
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> <property name="pooled" value="false"/> <property name="urls"> <list> <value>ldap://your.host.nameORip</value> </list> </property> <property name="userDn" value="cn=user,dc=subdomain,dc=domain"/> <property name="password" value="verybigsecret"/> <property name="base" value="dc=subdomain,dc=domain"/> <property name="baseEnvironmentProperties"> <map> <entry> <key> <value>java.naming.security.authentication</value> </key> <value>simple</value> </entry> <entry key="com.sun.jndi.ldap.connect.timeout" value="5000"/> <entry key="com.sun.jndi.ldap.read.timeout" value="5000"/> </map> </property> </bean>
ãã©ã¡ãŒã¿ãŒcom.sun.jndi.ldapãïŒæ¥ç¶ãèªã¿åãïŒ.timeoutã¯ãLDAPã«æ¥ç¶ããŠããŒã¿ãèªã¿åããšãã®ã¿ã€ã ã¢ãŠããããããæ åœããŸãã
userDetailsSââerviceã«åé¡ã¯ãªãã¯ããªã®ã§ãæåŸã®éèŠãªèšå®ã§ãããµãŒãã¹ãªããžããªã«ç§»ããŸãããã ç»é²ããããµãŒãã¹ãä¿åããã«ã¯ãããã€ãã®æ¹æ³ããããŸãã ããã©ã«ãã¯inMemoryãªããžããªã§ãã ãã®ãªãã·ã§ã³ã¯ã補åç°å¢ããè€æ°ã®CASãµãŒããŒéã§ãµãŒãã¹ã®åäžãªã¹ããå ±æãããå Žåã«ã¯é©ããŠããŸããã CASãµãŒããŒãšåããã·ã³ã«ãããã€ãããMySqlã䜿çšããŸãã ãã®ãªãã·ã§ã³ãåãå ¥ããããå Žåã¯ããã®æ§æãã³ããŒããŠããŠãŒã¶ãŒå/ãã¹ã¯ãŒãã«çœ®ãæããããšãã§ããŸãã
<bean id="serviceRegistryDao" class="org.jasig.cas.services.JpaServiceRegistryDaoImpl" p:entityManagerFactory-ref="entityManagerFactory"/> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="generateDdl" value="true"/> <property name="showSql" value="true"/> </bean> </property> <property name="jpaProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://localhost:3306/cas?autoReconnect=true" p:username="root" p:password=""/>
ticketExpirationPolicies.xml
ããã¯å¥ã®éèŠãªæ§æãã¡ã€ã«ã§ãã STããã³TGTã®æå¹æéããªã·ãŒã«ã€ããŠèª¬æããŸãã 察話ãããã³ã«ãå€æŽããäºå®ãããå Žåãæ·±å»ãªãããã¯ãŒã¯é 延ãããå ŽåããŸãã¯SSOã«åå ããŠãããµãŒããŒã®æéãååã«åæãããŠããªãå Žåã¯ãSTã®ãã©ã¡ãŒã¿ãŒå€ãå¢ããå¿ èŠããããŸãã
cas.properties
ããã«ã¯å€ãã®æšæºããããã£ããããŸããã
cas.securityContext.serviceProperties.serviceã ãã®å€ã¯ãããšãã°httpsïŒ// localhostïŒ8443 / cas / services / j_acegi_cas_security_checkã§ãã ããã¯ããã±ãããã§ãã¯ãå®è¡ãããµãŒãã¬ããã®URLã§ãã ããã§ã¯æ¬¡ã®ããã«ãªããŸãïŒ$ {service} since MAVENãããã¡ã€ã«ã®ããããã£ã«ãããšä»ã®å€ãã®èšå®ãé 眮ããã¢ã»ã³ããªäžã«ãããã眮ãæããããšããå§ãããŸãã ãããã©ã®ããã«è¡ããããã«ã€ããŠã¯ãå°ãåŸã§èª¬æããŸãã
cas.securityContext.serviceProperties.adminRoles = ROLE_ADMINã ãã®ããããã£ã«ã¯ãSpring Securityã®ãŠãŒã¶ãŒããŒã«åãå«ãŸããŠããŸãã ãããã®åœ¹å²ãæã€ãŠãŒã¶ãŒã¯ãCASãµãŒãã¹ã€ã³ã¿ãŒãã§ã€ã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã ãã®èšå®ã¯ãdeployerConfigContext.xmlã®userDetailsSââerviceã«çŽæ¥é¢é£ããŠããŸãã
cas.securityContext.casProcessingFilterEntryPoint.loginUrlã ãã®ãã¹ã«æ²¿ã£ãŠããŠãŒã¶ãŒè³æ Œæ å ±ãåãå ¥ãããµãŒãã¬ããããããŸãã
cas.securityContext.ticketValidator.casServerUrlPrefixã CAS URLã
host.nameã ç§ãç解ããŠããããã«ããã®ãã©ã¡ãŒã¿ãŒã¯äž»ã«TGTããã³STãšããååã®ãã¬ãã£ãã¯ã¹ãšããŠäœ¿çšãããŸãã ãããã£ãŠã奜ã¿ã«å¿ããŠä»»æã®ååãéžæã§ããŸãã
database.hibernate.dialectã ãã®ããããã£ã¯ãHibernate SQLãã€ã¢ã¬ã¯ããå®çŸ©ããŸãã deployerConfigContext.xmlã§ã¯ããµãŒãã¹ã®ä¿åã«MySQlãéžæãããããå€ãorg.hibernate.dialect.MySQLDialectã«èšå®ããå¿ èŠããããŸãã
CASã䜿çšãããšãCASããŒãã䜿çšããŠãWebã€ã³ã¿ãŒãã§ã€ã¹ã«ç°ãªããã¶ã€ã³ãæå®ã§ããŸãã ãããã©ã®ããã«è¡ããããã¯ãããããå¥ã®èšäºã§èª¬æããŸãã ãããã¯ã®è©³çŽ°ã¯ãã¡ããã芧ãã ãã ã
çµç«
èšå®ãããã£ãã®ã§ãç¬èªã®ã¢ãŒãã£ãã¡ã¯ããçµã¿ç«ãŠãŠã¿ãããšãã§ããŸãã MavenæŠäºãªãŒããŒã¬ã€ã䜿çšããŠåéããŸã
æåã«ãåŸã§å¿ èŠã«ãªãããããã£ã説æããŸã
<properties> <spring.version>3.0.4.RELEASE</spring.version> <spring.security.version>3.0.3.RELEASE</spring.security.version> <cas.version>3.4.8</cas.version> <compiler.version>2.0.2</compiler.version> <source.version>1.6</source.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
éèŠïŒ ãããžã§ã¯ãããã«ããããšãã«äœ¿çšããããªãœãŒã¹ãšã³ã³ãŒãã£ã³ã°ãå¿ ãæå®ããŠãã ããã ããããªããšããã·ã¢èªã®ããã¹ãã«åé¡ãããå¯èœæ§ããããŸãã
deployerConfigContext.xmlã§è¡ãããèšå®ã«åŸã£ãŠããããžã§ã¯ãã«äŸåé¢ä¿ãè¿œå ããŸãã
<!â CAS OVERLAY --> <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-webapp</artifactId> <version>${cas.version}</version> <type>war</type> <scope>runtime</scope></dependency> <!â --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.6.0.Final</version> <exclusions> <exclusion> <artifactId>hibernate-core</artifactId> <groupId>org.hibernate</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.14</version> </dependency> </dependencies> <!-- LDAP--> <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-support-ldap</artifactId> <version>${cas.version}</version> <exclusions> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </exclusion> <exclusion> <artifactId>jaxb-impl</artifactId> <groupId>com.sun.xml.bind</groupId> </exclusion> <exclusion> <artifactId>spring-expression</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-expression</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-expression</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency>
ãªãŒããŒã¬ã€ã䜿çšãããã«ãã¯ããããã¡ã€ã«ãšãªãœãŒã¹ãã£ã«ã¿ãŒã¯å¿ èŠãªãããå¥ã®ãããžã§ã¯ãã®ãªãœãŒã¹ãã¢ã»ã³ããªã®ããŒã¹ãšããŠäœ¿çšããå Žåã«é©ããŠããŸãã
ããšãã°ãã¢ãŒãã£ãã¡ã¯ãã®deployerConfigContext.xmlãšcas.propertiesã眮ãæããå¿ èŠãããå Žåã次ã®ããã«ã§ããŸã...
<plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>cas</warName> <overlays> <overlay> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-webapp</artifactId> <excludes> <exclude>WEB-INF/deployerConfigContext.xml</exclude> <exclude>WEB-INF/cas.properties</exclude> </excludes> </overlay> </overlays> </plugin>
ãã®æ¹æ³ã¯éåžžã«åªããŠããŸããããããã¡ã€ã«ã®äœ¿çšããå§ãããŸã ã ã¢ããªã±ãŒã·ã§ã³ãæ§æããéã®èªç±åºŠãå€§å¹ ã«åäžããŸãã ããšãã°ã圌ãã®å©ããåããŠã補åããã³ãã¹ãç°å¢ã®ã¢ãŒãã£ãã¡ã¯ãã®ã¢ã»ã³ããªãæŽçããã®ã¯éåžžã«ç°¡åã§ãã
ãã«ãã¿ã°ã¯æ¬¡ã®ããã«ãªããŸã
<plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>cas</warName> <webResources> <resource> <directory>src/main/config</directory> <!-- override the destination directory for this resource --> <targetPath>WEB-INF</targetPath> <!-- enable filtering --> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin>
次ã«ãããã¡ã€ã«ãè¿œå ããŸã
<profiles> <profile> <id>test</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <service> https://localhost:8443/cas/services/j_acegi_cas_security_check </service> </properties> </profile> <profile> <id>prod</id> <properties> <service> https://auth.tcsbank.ru:8443/cas/services/j_acegi_cas_security_check </service> </properties> </profile> </profiles>
ç°ãªãç°å¢ã§ç°ãªããã¹ãŠã®ããããã£ããããã¡ã€ã«ã¿ã°ã«å ¥ããã®ãè³¢æã§ãã
ããã§ã/ src / main / configãã£ã¬ã¯ããªãäœæããMavenã䜿çšããŠãã£ã«ã¿ãªã³ã°ãããã¹ãŠã®ãªãœãŒã¹ãã³ããŒã§ããŸãã ãã®çµæããããžã§ã¯ãã®æ§é ã¯å³ã®ç»åã®ããã«èŠããå ŽåããããŸãã
ããšãã°ãé£åç°å¢ã®ããã«ããããžã§ã¯ããçµã¿ç«ãŠãã ãã§ã...
mvn -e clean compile package -P prod
-e修食åã¯ãçºçãããšã©ãŒã®ã¹ã¿ãã¯ãã¬ãŒã¹ãªã©ããã«ãããã»ã¹ã«é¢ãããã詳现ãªæ å ±ã衚瀺ããããã«æ瀺ããŸãã
éèŠïŒ ã¢ã»ã³ããªããåã«ãCASã䜿çšããäºå®ã®ãã¹ãŠã®ãã±ãŒã«ã®ãã¹ãŠã®ã¡ãã»ãŒãžãååšããããšã確èªããŠãã ããã ãããè¡ãã«ã¯ãå¿ èŠãªãã±ãŒã«ã®ã¡ãã»ãŒãžãã¡ã€ã«ã«enãã±ãŒã«ã®ãã¡ã€ã«ãšåãã¡ãã»ãŒãžãå«ãŸããŠããããšã確èªããŠãã ããã ããã§ãªãå Žåã¯ããªãœãŒã¹ãã³ãã«ããããžã§ã¯ãã®ãã£ã¬ã¯ããª/ webapp / WEB-INF / classes /ã«ã³ããŒããã¡ãã»ãŒãžã®ãªã¹ããæåã§è¿œå ããå¿ èŠããããŸãã ããããªããšãCASã¯å¿ èŠãªã¡ãã»ãŒãžãæ¬ èœããŠãããµãŒãã¹ã€ã³ã¿ãŒãã§ã€ã¹ã衚瀺ã§ããŸããã
é¢éž
CASãçµã¿ç«ãŠãããŠèµ·åããŸããæåŸã®ã¹ãããã§ãä¿¡é Œã§ãããµãŒãã¹ãè¿œå ããæ¬æ Œçãªåäžã®æ¿èªãµãŒãã¹ããåé¢ãããŸãã ãããè¡ãæ¹æ³ã®è©³çŽ°ãªæé ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
éèŠïŒ æåã®ãµãŒãã¹ã§ããCASãè¿œå ããå¿ èŠããããŸãã ãããè¡ããªããšãä»ã®ãµãŒãã¹ãè¿œå ããåŸããµãŒãã¹ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšã§ããªããªããã»ãšãã©ã®å ŽåããµãŒãã¹ã¹ãã¢ãæåã§ã¯ãªã¢ããããCASãè¿œå ããå¿ èŠããããŸãã
CASã«ãµãŒãã¹ãè¿œå ããã«ã¯ãhttpsïŒ// $ {serverUrl} /services/add.htmlã®ãµãŒãã¹ç®¡çããŒãžã«ã¢ã¯ã»ã¹ããå¿ èŠããããŸãã èš±å¯ããããŠãŒã¶ãŒã®ã¿ããã®ããŒãžã«ã¢ã¯ã»ã¹ã§ããŸãã ãŠãŒã¶ãŒããŒã«ã¯ãcas.propertiesããã³deployerConfigContext.xmlã§æ§æãããŸãã
ãµãŒãã¹URLã¯ANTã¹ã¿ã€ã«ã®ãã³ãã¬ãŒãããµããŒãããŸãã ããšãã°ãããŒã«ã«ãã·ã³ã«ãããã¹ãŠã®ãµãŒãã¹ãä¿¡é Œæžã¿ãµãŒãã¹ã«è¿œå ããã«ã¯ããã®ãã¿ãŒã³-ht tp *ïŒ// localhostïŒ* / **ã䜿çšã§ããŸãã
äžåºŠã ãã§ãã 第3éšã§ã¯ãããã€ãã®äžè¬çãªåé¡ã«å¯ŸåŠããããã©ãŒãã³ã¹ãæé©åããå€éšãã©ãŒã ãããããã«ã¯éåæã§ãã°ã€ã³ããæ¹æ³ã説æããŸãã
æåŸãŸã§èªãã§ãããŠããããšãïŒ