Changes for page CAS Java klient
Last modified by Petr Abrahamczik on 16.04.2024 10:22
From version 20.1
edited by Petr Abrahamczik
on 16.04.2024 10:22
on 16.04.2024 10:22
Change comment:
There is no comment for this version
To version 11.1
edited by Petr Abrahamczik
on 07.02.2019 11:16
on 07.02.2019 11:16
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,29 +1,28 @@ 1 -V ukázkovém příkladu je popsán z ákladní způsob konfigurace webové aplikace v Javě pomocí [[Java Apereo CAS Client>>https://github.com/apereo/java-cas-client]].Aplikace je schopna získat přihlášeného uživatele pomocí CAS v3 protokolu.1 +V ukázkovém příkladu je popsán způsob konfigurace webové aplikace v Javě pomocí [[Java Apereo CAS Client>>https://github.com/apereo/java-cas-client]]. 2 2 3 -1. Do webovéaplikace je potřeba přidat knihovny klienta https://mvnrepository.com/artifact/org.apereo.cas.client/cas-client-core buď přímo a nebo pomocí nějakého buildovacího nástroje např. Maven.(((3 +1. Do aplikace je potřeba přidat knihovny klienta https://mvnrepository.com/artifact/org.jasig.cas.client/cas-client-core buď přímo a nebo pomocí nějakého buildovacího nástroje např. Maven.((( 4 4 {{code language="xml"}} 5 5 <dependency> 6 - pereo.cas.client</groupId>7 - 8 - 4.0.4</version>6 + <groupId>org.jasig.cas.client</groupId> 7 + <artifactId>cas-client-core</artifactId> 8 + <version>3.5.1</version> 9 9 </dependency> 10 10 {{/code}} 11 11 ))) 12 -1. Nakonfigurovat ##web.xml##. V uvedené konfiguraci je nutné nahradit adresu klienta ##https:~/~/klient.vsb.cz## adresou našeho serveru. V mapování filtru ##CAS Authentication Filter## je možné uvést místo ##/*## kontext do chráněné zóny aplikace např. ##/private/*## . ((( 13 - 12 +1. Nakonfigurovat ##web.xml##. V uvedené konfiguraci je nutné nahradit adresu klienta https://klient.vsb.cz s URL našeho serveru.((( 14 14 {{code language="xml"}} 15 15 <filter> 16 16 <filter-name>CAS Single Sign Out Filter</filter-name> 17 - <filter-class>org.a pereo.cas.client.session.SingleSignOutFilter</filter-class>16 + <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> 18 18 <init-param> 19 19 <param-name>casServerUrlPrefix</param-name> 20 20 <param-value>https://www.sso.vsb.cz</param-value> 21 21 </init-param> 22 -</filter> 21 +</filter> 23 23 24 24 <filter> 25 25 <filter-name>CAS Authentication Filter</filter-name> 26 - <filter-class>org.a pereo.cas.client.authentication.AuthenticationFilter</filter-class>25 + <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> 27 27 <init-param> 28 28 <param-name>casServerUrlPrefix</param-name> 29 29 <param-value>https://www.sso.vsb.cz</param-value> ... ... @@ -36,7 +36,7 @@ 36 36 37 37 <filter> 38 38 <filter-name>CAS Validation Filter</filter-name> 39 - <filter-class>org.a pereo.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class>38 + <filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class> 40 40 <init-param> 41 41 <param-name>casServerUrlPrefix</param-name> 42 42 <param-value>https://www.sso.vsb.cz</param-value> ... ... @@ -46,22 +46,22 @@ 46 46 <param-value>https://klient.vsb.cz</param-value> 47 47 </init-param> 48 48 </filter> 49 - 48 + 50 50 <filter> 51 51 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> 52 - <filter-class>org.a pereo.cas.client.util.HttpServletRequestWrapperFilter</filter-class>51 + <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> 53 53 </filter> 54 54 55 55 <filter> 56 56 <filter-name>CAS Assertion Thread Local Filter</filter-name> 57 - <filter-class>org.a pereo.cas.client.util.AssertionThreadLocalFilter</filter-class>58 -</filter> 59 - 56 + <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> 57 +</filter> 58 + 60 60 <filter-mapping> 61 61 <filter-name>CAS Single Sign Out Filter</filter-name> 62 62 <url-pattern>/*</url-pattern> 63 63 </filter-mapping> 64 - 63 + 65 65 <filter-mapping> 66 66 <filter-name>CAS Authentication Filter</filter-name> 67 67 <url-pattern>/*</url-pattern> ... ... @@ -76,36 +76,30 @@ 76 76 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> 77 77 <url-pattern>/*</url-pattern> 78 78 </filter-mapping> 79 - 78 + 80 80 <filter-mapping> 81 81 <filter-name>CAS Assertion Thread Local Filter</filter-name> 82 82 <url-pattern>/*</url-pattern> 83 -</filter-mapping> 84 - 82 +</filter-mapping> 83 + 85 85 <listener> 86 - <listener-class>org.a pereo.cas.client.session.SingleSignOutHttpSessionListener</listener-class>85 + <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> 87 87 </listener> 88 88 {{/code}} 89 89 ))) 90 -1. Přihlášenou osobu v aplikaci lze pak jednoduše zjistit pomoci((( 91 -{{code language="java"}} 92 -request.getRemoteUser(); 93 -{{/code}} 94 -))) 95 -1. Připadné atributy osoby((( 96 -{{code language="java"}} 97 -import org.apereo.cas.client.authentication.AttributePrincipal; 98 - 99 -AttributePrincipal principal = (AttributePrincipal)request.getUserPrincipal(); 100 -Map attributes = principal.getAttributes(); 101 -{{/code}} 102 -))) 89 +1. CAS server musí důvěřovat certifikátu klienta (může se stát, že bude potřeba přidat certifikát na CAS server) a zároveň 90 + klient musí důvěřovat certifikátu serveru. 103 103 1. Pro odhlášení uživatele z CAS je potřeba přistoupit na url ##https:~/~/www.sso.vsb.cz/logout##.((( 104 104 Před odhlášením z CAS je vhodné zrušit session v aplikaci klienta (zaleží to však na konkrétním klientu). 105 105 106 - Pokud po odhlášení z CAS nechceme aby uživatel zůstal na odhlašovací stránce CASu, můžeme k odhlašovací url přidat parametr ##service##, který94 + Pokud po odhlášení z CAS nechceme aby uživatel zůstal na odhlašovací stránce CASu, můžeme k odhlašovací url přidat parametr 'service', který 107 107 obsahuje url (nejlépe zakódovanou pomocí URL kódování) na kterou se má po odhlášení přesměrovat. Url musí obsahovat adresu, která je pro službu povolena. 108 108 109 109 např. ##https:~/~/www.sso.vsb.cz/logout?service=https%3A%2F%2Fklient.vsb.cz## 110 110 ))) 99 +1. Přihlášenou osobu v aplikaci lze pak jednoduše zjistit pomoci((( 100 +{{code language="java"}} 101 +request.getRemoteUser(); 102 +{{/code}} 103 +))) 111 111