рдЬреИрд╕рд┐рдЧ рдХреИрд╕ - рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░

рдпрджрд┐ рдЖрдк рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЛ рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ ред рдЗрд╕ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЬрд╕рд┐рдЧ рд╕реЗ рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ ред

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг


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

рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛


рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕ рдЖрд░реЗрдЦ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдПрдХ рд╕рдорд╛рди рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреИрдВрдбреЗрдХреНрд╕ рдФрд░ Google рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдзрд┐


рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ class org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :

package mypack; /** * * @author http://habrahabr.ru/users/nucleotide/ */ 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

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


All Articles