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

рдПрдХ рд╕рдорд╛рди рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреИрдВрдбреЗрдХреНрд╕ рдФрд░ Google рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- 1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИред
- 2. рдЕрдм рддрдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХреИрд╕ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- 3. рд╣рдорд╛рд░рд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╕рддреНрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ CAS рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдЙрд╕рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓рд╛ рдФрд░ рддреБрд░рдВрдд рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рджреЗрдЦрд╛ред
- 4. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╡реЗрд╢ / рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ
- 5. рдХреИрд╕ рдЙрдиреНрд╣реЗрдВ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИред
- 6. рдФрд░ рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ - "рдЯрд┐рдХрдЯ"ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдЧрд╛ред
- 7. рдЕрдиреБрд░реЛрдз рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ, рдЯрд┐рдХрдЯ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- 8. рд╣рдорд╛рд░рд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕ рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдЯрд┐рдХрдЯ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред
- 9. рдпрджрд┐ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, рддреЛ CAS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ (рдЬреЛ рдЖрдк рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ) рднреЗрдЬрддрд╛ рд╣реИред
рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдзрд┐
рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ class
org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
:package mypack; public class MyAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandler { protected final boolean authenticateUsernamePasswordInternal( // true, final UsernamePasswordCredentials credentials) throws AuthenticationException { return credentials.getUsername().equals(credentials.getPassword()); } }
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕рдВрджрд░реНрдн рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреИрд╕ рдХреЛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ MyAuthenticationHandler рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк
рд╣рдм рдореЗрдВ рдЗрд╕ рдкрд░ рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛
www.springsource.org рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
CAS рдореЗрдВ, рд╣рдореЗрдВ рдЬреЛ рдореБрдЦреНрдп рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рд╡рд╣ рд╣реИ рддреИрдирд╛рддреАрд░реЙрдиреНрдлрд┐рдЧ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ.рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВред рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдЬреЛрдбрд╝реЗрдВ:
. . . . . <property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" /> <bean class="mypack.MyAuthenticationHandler"> </bean> </list> </property> . . . . .
рд╕рдм рдХреБрдЫ рдЬреЛ рд╣рдореЗрдВ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд) рд╡рд╕рдВрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рднреА рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
. . . . . <property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" /> <bean class="mypack.MyAuthenticationHandler"> <property name="dataSource" ref="dataSource"/> </bean> </list> </property> . . . . .
рдЦреБрд▓рд╛рд╕рд╛
рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ jvm рд╕реНрдерд╛рдкрд┐рдд рд╕рд░реНрд╡рд░ рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ DBMS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рднреА CAS рдЕрдкрдиреА рд╕реЗрд╡рд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдпрд╣ рдЙрди рдкрддреЛрдВ рдХреА рд╕реВрдЪреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рдВрднрд╡ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ CAS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ example.com рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЕрд╕рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛рдж рд░рдЦреЗрдВ: рдЙрд╕ рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рдЬрд┐рд╕ рдкрд░ рд▓реЙрдЧрд┐рди рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ)ред рдЖрдк рдХрд┐рд╕реА рднреА рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдкрддреЗ рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреИрд╕реЗ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВ
рдЬреЗрд╕рд┐рдХ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╕ (рдЬрд╛рд╡рд╛, .net рдФрд░ php рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреИрдпрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВред рдЬрд╛рд╡рд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП HTTP рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдмрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдпрд╣рд╛рдВ рдкрдврд╝реЗрдВ:
https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1 ) ред
рдпрд╛ рдЗрд╕реЗ org.jasig.cas.client.util.AbstractCasFilter рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрдирд╛рдПрдБред
рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЛрдзрди рдФрд░ рдЕрдиреБрдХреВрд▓рди рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реАрдПрдПрд╕ рдХреА рддреИрдирд╛рддреА рдФрд░ рд╢реЛрдзрди рдПрдХ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдФрд░ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдХреИрдкреНрдЪрд╛ рдФрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбрд┐рдЬрд╛рдЗрдиред
рд╕рдВрджрд░реНрдн:
рдЖрдк рдЗрд╕реЗ
рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда рдкрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЪрд┐рддреНрд░ рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЬреИрд╕рд┐рдЧ:
http://www.jasig.org/casрдЙрди рдкреЛрд░реНрдЯрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдЬрд╣рд╛рдВ рдХреИрд╕ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ:
http://www.jasig.org/cas/deploymentsрд▓рд╛рдЗрд╕реЗрдВрд╕:
http://www.jasig.org/cas/license