Changes for page CAS Java klient
Last modified by Petr Abrahamczik on 16.04.2024 10:22
From version 1.1
edited by Petr Abrahamczik
on 07.02.2019 09:30
on 07.02.2019 09:30
Change comment:
There is no comment for this version
To version 2.1
edited by Petr Abrahamczik
on 07.02.2019 10:46
on 07.02.2019 10:46
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,1 +1,102 @@ 1 - 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 + 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 +{{code}} 5 +<dependency> 6 + <groupId>org.jasig.cas.client</groupId> 7 + <artifactId>cas-client-core</artifactId> 8 + <version>3.5.1</version> 9 +</dependency> 10 +{{/code}} 11 +))) 12 +1. Nakonfigurovat web.xml. V uvedené konfiguraci je nutné nahradit adresu klienta https://klient.vsb.cz s URL našeho serveru. ((( 13 +{{code}} 14 + <filter> 15 + <filter-name>CAS Single Sign Out Filter</filter-name> 16 + <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> 17 + <init-param> 18 + <param-name>casServerUrlPrefix</param-name> 19 + <param-value>https://www.sso.vsb.cz</param-value> 20 + </init-param> 21 + </filter> 22 + 23 + <filter> 24 + <filter-name>CAS Authentication Filter</filter-name> 25 + <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> 26 + <init-param> 27 + <param-name>casServerUrlPrefix</param-name> 28 + <param-value>https://www.sso.vsb.cz</param-value> 29 + </init-param> 30 + <init-param> 31 + <param-name>serverName</param-name> 32 + <param-value>https://klient.vsb.cz</param-value> 33 + </init-param> 34 + </filter> 35 + 36 + <filter> 37 + <filter-name>CAS Validation Filter</filter-name> 38 + <filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class> 39 + <init-param> 40 + <param-name>casServerUrlPrefix</param-name> 41 + <param-value>https://www.sso.vsb.cz</param-value> 42 + </init-param> 43 + <init-param> 44 + <param-name>serverName</param-name> 45 + <param-value>https://klient.vsb.cz</param-value> 46 + </init-param> 47 + </filter> 48 + 49 + <filter> 50 + <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> 51 + <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> 52 + </filter> 53 + 54 + <filter> 55 + <filter-name>CAS Assertion Thread Local Filter</filter-name> 56 + <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> 57 + </filter> 58 + 59 + <filter-mapping> 60 + <filter-name>CAS Single Sign Out Filter</filter-name> 61 + <url-pattern>/*</url-pattern> 62 + </filter-mapping> 63 + 64 + <filter-mapping> 65 + <filter-name>CAS Authentication Filter</filter-name> 66 + <url-pattern>/*</url-pattern> 67 + </filter-mapping> 68 + 69 + <filter-mapping> 70 + <filter-name>CAS Validation Filter</filter-name> 71 + <url-pattern>/*</url-pattern> 72 + </filter-mapping> 73 + 74 + <filter-mapping> 75 + <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> 76 + <url-pattern>/*</url-pattern> 77 + </filter-mapping> 78 + 79 + <filter-mapping> 80 + <filter-name>CAS Assertion Thread Local Filter</filter-name> 81 + <url-pattern>/*</url-pattern> 82 + </filter-mapping> 83 + 84 + <listener> 85 + <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> 86 + </listener> 87 +{{/code}} 88 +))) 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. 91 +1. (((Pro odhlášení uživatele z CAS je potřeba přistoupit na url https://www.sso.vsb.cz/logout. 92 + Před odhlášením z CAS je vhodné zrušit session v aplikaci klienta (zaleží to však na konkrétním klientu). 93 + 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ý 95 + 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. 96 + 97 + např. https://www.sso.vsb.cz/logout?service=https%3A%2F%2Fklient.vsb.cz))) 98 +1. Přihlášenou osobu v aplikaci lze pak jednoduše zjistit pomoci ((( 99 + {{code}} 100 + request.getRemoteUser(); 101 + {{/code}} 102 +)))