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