
рдЕрднрд┐рд╡рд╛рджрди, рдкреНрд░рд┐рдп Habro рдкрд╛рдардХреЛрдВред рдпрд╣рд╛рдВ JASIG CAS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд╣реИред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕ рдЖрд░реНрдЯрд╡рд░реНрдХ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЖрдЧреЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк
рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗред
рд╣рдордиреЗ рдЯреНрдпреВрди рдХрд┐рдпрд╛, рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ ... рд╣рд▓ рдирд┐рдХрд╛рд▓рд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╕рд╣реА рд░рд╡реИрдпрд╛ рдЖрдзреА рд▓рдбрд╝рд╛рдИ рд╣реИред CAS рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдФрд░ рдорд╛рд╡реЗрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рд╕реАрдПрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ
рдпрд╣рд╛рдВ рдЖрдк
рд╣реИрдВ ред рдореИрдВ рдЖрдкрдХреЛ рдЙрди рдореВрд▓ рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реВрдБ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ CAS рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рджреВрдВрдЧрд╛ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддрд╛ рд╣реВрдВред рдореВрд▓ рд╕реВрдЪреА
рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓
- рд╡реЗрдм-рдЗрдиреНрдлреЛ / рдХрдХреНрд╖рд╛рдПрдВ / log4j.xmlред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓реЙрдЧрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдХреИрд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИред
- WEB-INF / cas-servlet.xmlред рдпрд╣ рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдХрд╛ рд╕реНрдкреНрд░рд┐рдВрдЧ MVC рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ CAS рд╕реЗрд╡рд╛ URL рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред
- WEB-INF / cas.propertiesред рдЗрд╕рдореЗрдВ рд╕реЗрд╡рд╛ рд╕реЗрд╡рд╛ URL, рдПрдХ SQL рдмреЛрд▓реА рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЛрдЪреЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЧреБрдг рдХреЛ рдЖрдк рдпрд╣рд╛рдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
- рд╡реЗрдм-рдЗрдиреНрдлреЛ / рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдХреЙрдиреНрдлрд╝рд┐рдЧреЙрдирдЯреИрдХреНрд╕.рдПрдХреНрд╕рдПрдордПрд▓ред рд▓рдЧрднрдЧ рд╕рднреА рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВред
- рд╡реЗрдм-рдЗрдиреНрдлреЛ / рд▓реЙрдЧрд┐рди-рд╡реЗрдмрдлреНрд▓реЛ.рдПрдХреНрд╕рдПрдордПрд▓ред рдпрд╣рд╛рдВ, рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдм рдлреНрд▓реЛ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- WEB-INF / restlet-servlet.xmlред рд░реЗрд╕реНрдЯрдлреБрд▓ рдПрдкреАрдЖрдИ рдХреА рд╕реНрдерд╛рдкрдирд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрднреА рдирд╣реАрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
- WEB-INF / рдХрдХреНрд╖рд╛рдПрдВ / рд╕рдВрджреЗрд╢ _ *ред рдЧреБрдг рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ CAS рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╡реЗрдм-рдЗрдиреНрдлреЛ / рд╡рд╕рдВрдд-рд╡рд┐рдиреНрдпрд╛рд╕ред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
WEB-INF / рд╡рд╕рдВрдд-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реНрдерд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ
- applicationContext.xmlред рдорд╛рдирдХ рдмреАрдиреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдорддреМрд░ рдкрд░ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдСрдЯреЛрд╡реЗрдпрд░рд┐рдВрдЧ рд╢реЗрдбреНрдпреВрд▓рд░ рдФрд░ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХрд╛рд░реНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред
- ticketRegistry.xmlред рдЯрд┐рдХрдЯ рдХреА рд░рдЬрд┐рд╕реНрдЯреНрд░реАред рдЖрдк рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
- argumentExtractorsConfiguration.xmlред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдкрд╕рдВрдж рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, CAS рдФрд░ SAMLред
- propertyFileConfigurer.xmlред рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред WEB-INF / cas.properties рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ
- securityContext.xmlред
- ticketExpirationPolicies.xmlред рдЯрд┐рдХрдЯ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред
- ticketGrantingTicketCookieGenerator.xmlред TGT рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
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 рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
- FastBindLdapAuthenticationHandlerред рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо (рдбреАрдПрди) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕реАрдзреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред uid =% u, ou = рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдбреАрд╕реА = рдбреЛрдореЗрдиред рдЬрд╣рд╛рдБ% u рд▓реЙрдЧрд┐рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- BindLdapAuthenticationHandlerред рдпрд╣ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╣реА рд░рд┐рдХреЙрд░реНрдб рдЪреБрдирдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ 2 рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд╢реБрд░реБрдЖрдд рд╕реЗ LDAP рдмрд╛рдЗрдВрдб рд╣реЛрддрд╛ рд╣реИред рдмрд╛рдЗрдВрдб рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕рдВрджрд░реНрдн рд╕реНрд░реЛрдд рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рд╕реНрдЯреЗрдЬ 2 - рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 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> <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> <targetPath>WEB-INF</targetPath> <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: * / **ред
рдпрд╣ рд╕рдм рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣реИред рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛рдП, рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░реА рд░реВрдкреЛрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред
рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)