JASIG CAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг (SSO)ред рднрд╛рдЧ реи


рдЕрднрд┐рд╡рд╛рджрди, рдкреНрд░рд┐рдп Habro рдкрд╛рдардХреЛрдВред рдпрд╣рд╛рдВ JASIG CAS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд╣реИред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕ рдЖрд░реНрдЯрд╡рд░реНрдХ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЖрдЧреЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗред


рд╣рдордиреЗ рдЯреНрдпреВрди рдХрд┐рдпрд╛, рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ ... рд╣рд▓ рдирд┐рдХрд╛рд▓рд╛ред


рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╕рд╣реА рд░рд╡реИрдпрд╛ рдЖрдзреА рд▓рдбрд╝рд╛рдИ рд╣реИред CAS рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдФрд░ рдорд╛рд╡реЗрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рд╕реАрдПрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдЖрдк рд╣реИрдВ ред рдореИрдВ рдЖрдкрдХреЛ рдЙрди рдореВрд▓ рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реВрдБ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ CAS рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рджреВрдВрдЧрд╛ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддрд╛ рд╣реВрдВред рдореВрд▓ рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ ред

рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓



WEB-INF / рд╡рд╕рдВрдд-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реНрдерд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ


deploymentconfigContext.xml

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреБрдВрдЬреА рдХреИрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИ редerConfigContext.xmlред рдпрд╣ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░реВрдВрдЧрд╛ред
рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЕрдиреБрд░реЛрдз рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

<property name="credentialsToPrincipalResolvers"> ... </property> 

рдпрджрд┐ рдЖрдк рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлрд╝реЙрд░реНрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдпрд╣ рдЕрдиреБрднрд╛рдЧ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрди рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдХрд┐ рдХреИрд╕ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдореИрдВ рдЙрдиреНрд╣реЗрдВ 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 рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдкреА рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ : рдЯрд╛рдЗрдордЖрдЙрдЯ = "$ {ldapReadConnectTimeout}" ред рдпрд╣ LDAP рдХреЗ рд╕рд╛рде рд░реАрдб / рдХрдиреЗрдХреНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛, рдорд╛рдирдХ рдорд╛рдиреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реЗрдЯ рдорд╛рдкрджрдВрдбреЛрдВ com.sun.jndi.ldap.connect.timeout com.sun.jndi.ldap.read.timeout рдХреЛ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛ рдмрд╛рдж рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЕрдЧрд▓рд╛ рдмреНрд▓реЙрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдУрдкрдирд▓реИрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрддрд╛ рд╣реВрдВред
LDAP рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:

рдорд╣рддреНрд╡рдкреВрд░реНрдг! LDAP рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреЛрдЬ рдФрд░ рдмрд╛рдЗрдВрдб рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдЗрдВрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреН, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, cn = user, dc = sso, dc = ru, рдЬрд╣рд╛рдБ рдЖрдзрд╛рд░ dc = sso, dc = ru рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдВрджрд░реНрдн рд╕реНрд░реЛрдд рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЖрдзрд╛рд░ рд╣рдореЗрд╢рд╛ рднрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣рдореЗрд╢рд╛ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рддрд╣рдд CAS LDAP рдореЗрдВ рдЕрдзрд┐рдХреГрдд рд╣реИред

рдЦреЛрдЬ рдХреЗ рджреМрд░рд╛рди, рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдХреИрди рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬ рдорд╛рдирджрдВрдб рдХреЗрд╡рд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред
 <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ред (рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдкрдврд╝реЗрдВ) .рд╕рдордп рдкрд░ LDAP рд╕реЗ рдбреЗрдЯрд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

UserDetailsService рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рддреЛ рдЪрд▓реЛ рдЕрдВрддрд┐рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯрд┐рдВрдЧ - рд╕реЗрд╡рд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдкрдВрдЬреАрдХреГрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдирдореЗрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЙрддреНрдкрд╛рдж рдкрд░рд┐рд╡реЗрд╢ рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рдЬрдм рдЖрдк рдХрдИ CAS рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдПрдХрд▓ рд╕реВрдЪреА рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо MySql рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ CAS рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рдорд╢реАрди рдкрд░ рддреИрдирд╛рдд рд╣реИред рдпрджрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
 <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

рдпрд╣ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрд╣ рдПрд╕рдЯреА рдФрд░ рдЯреАрдЬреАрдЯреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрддрд┐ рдиреАрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдПрд╕рдЯреА рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдк рдЗрдВрдЯрд░реИрдХреНрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЧрдВрднреАрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдВрдм рд╣реИрдВ рдпрд╛ рдПрд╕рдПрд╕рдУ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рд╕рдордп рдореЗрдВ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реИрдВред

cas.properties

рдпрд╣рд╛рдВ рдХрдИ рдорд╛рдирдХ рдЧреБрдг рдирд╣реАрдВ рд╣реИрдВред
cas.securityContext.serviceProperties.serviceред рдЗрд╕рдХрд╛ рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ https: // localhost: 8443 / cas / services / j_acegi_cas_security_checkред рдпрд╣ рдЙрд╕ рд╕рд░реНрд╡рд▓реЗрдЯ рдХрд╛ URL рд╣реИ рдЬреЛ рдЯрд┐рдХрдЯ рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: $ {рд╕реЗрд╡рд╛} рд╣рдо MAVEN рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдмрддрд╛рдКрдВрдЧрд╛ред
cas.securityContext.serviceProperties.adminRoles = ROLE_ADMINред рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рдирд╛рдо рд╣реИрдВред рдЗрди рднреВрдорд┐рдХрд╛рдУрдВ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ CAS рд╕реЗрд╡рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИред рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рд╕реАрдзреЗ userDetailsService рд╕реЗ рддреИрдирд╛рддреАрдХрд░реНрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред ConfigContext.xmlред
cas.securityContext.casProcessingFilterEntryPoint.loginUrlред рдЗрд╕ рдкрде рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд▓реЗрдЯ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
cas.securityContext.ticketValidator.casServerUrlPrefixред рдХреИрд╕ рдпреВрдЖрд░рдПрд▓ред
host.nameред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЯреАрдЬреАрдЯреА рдФрд░ рдПрд╕рдЯреА рдирд╛рдореЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
database.hibernate.dialectред рдпрд╣ рдЧреБрдг рд╣рд╛рдЗрдмрд░рдиреЗрдЯ SQL рдмреЛрд▓реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рддреИрдирд╛рддреАрдХрд░реНрддрд╛рдХреЙрдиреНрдлрд╝рд┐рдЧреЙрдирдЯреЗрдХреНрд╕реНрдЯ.рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд╣рдордиреЗ рд╕реНрдЯреЛрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП MySQl рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорд╛рди org.hibernate.dialect.MySQLDialect рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

CAS рдЖрдкрдХреЛ рдХреИрд╕ рдереАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рд╢рд╛рдпрдж рджреВрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╕рднрд╛

рдЕрдм рдЬрдм рдЖрдк рд╕реЗрдЯрд┐рдВрдЧ рд╕рдордЭ рдЧрдП рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдорд╛рд╡реЗрди рдпреБрджреНрдз рдЙрдкрд░рд┐рд╢рд╛рдпреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ
рдкрд╣рд▓реЗ, рд╣рдо рдЙрди рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
 <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> 

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рд╕рдВрд╕рд╛рдзрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рд░реВрд╕реА рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рддреИрдирд╛рддреАрдХрд░реНрддрд╛ рдореЗрдВ рдХреА рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВред ConfigContext.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> 

рдУрд╡рд░рд▓реЗ рдХреЗ рд╕рд╛рде рднрд╡рди рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдФрд░ рд╕рдВрд╕рд╛рдзрди рдлрд┐рд▓реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкрдиреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЖрд░реНрдЯрд╡рд░реНрдХ рдореЗрдВ рддреИрдирд╛рддреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдиреНрд╕рд┐рдлрд┐рдЧ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ.рдПрдХреНрд╕рдПрдордПрд▓ рдФрд░ рдХреИрд╕рдкреНрд░реЛрдкрд░реЗрдЯреА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
 <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 рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдк рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рджрд╛рдИрдВ рдУрд░ рдХреА рдЫрд╡рд┐ рдХреА рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИред
рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд╛рджреНрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП ...
 mvn -e clean compile package -P prod 

-E рд╕рдВрд╢реЛрдзрдХ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рд╣реЛрддрд╛ рд╣реИред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рд╕рдВрджреЗрд╢ рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдк CAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрд╕реА рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдПрди рд▓реЛрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ред рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА / рд╡реЗрдмреИрдк / рд╡реЗрдм-рдЗрди / рдХреНрд▓рд╛рд╕реЗрд╕ / рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рд┐рдХреНрд░реВрдЯ рдмрдВрдбрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, CAS рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджреЗрд╢ рдЧрд╛рдпрдм рд╣реИрдВред


рдЙрддрд╛рд░ рджреЛ



рдареАрдХ рд╣реИ, рдХреИрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдЪрд░рдг рд╣рдореЗрдВ рдкреВрд░реНрдг-рдПрдХрд▓ рдПрдХрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗрд╡рд╛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ - рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ред рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ ред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдкрд╣рд▓реА рд╕реЗрд╡рд╛, CAS рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реЗрд╡рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рд╕реНрдЯреЛрд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЗрд╕рдореЗрдВ рдХреИрд╕ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

CAS рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ https: // $ {serverUrl} /services/add.html рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдХреЗрд╡рд▓ рдПрдХ рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рдЗрд╕ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ cas.properties рдФрд░ рддреИрдирд╛рддреАрдХрд░реНрддрд╛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ConfigContext.xmlред
рд╕реЗрд╡рд╛ URL ANT рд╢реИрд▓реА рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕реНрдерд┐рдд рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - ht tp *: // localhost: * / **ред

рдпрд╣ рд╕рдм рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣реИред рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛рдП, рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░реА рд░реВрдкреЛрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред

рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)

Source: https://habr.com/ru/post/In146006/


All Articles