Zdrojový kód wiki CAS Java klient
Version 12.1 by Petr Abrahamczik on 07.02.2019 13:41
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
2.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.((( | ||
![]() |
8.1 | 4 | {{code language="xml"}} |
![]() |
2.1 | 5 | <dependency> |
![]() |
9.1 | 6 | <groupId>org.jasig.cas.client</groupId> |
7 | <artifactId>cas-client-core</artifactId> | ||
8 | <version>3.5.1</version> | ||
![]() |
2.1 | 9 | </dependency> |
10 | {{/code}} | ||
11 | ))) | ||
![]() |
12.1 | 12 | 1. Nakonfigurovat ##web.xml##. V uvedené konfiguraci je nutné nahradit adresu klienta https://klient.vsb.cz s URL 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/*## ((( |
![]() |
9.1 | 13 | {{code language="xml"}} |
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> | ||
![]() |
8.1 | 22 | |
![]() |
9.1 | 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> | ||
![]() |
2.1 | 35 | |
![]() |
9.1 | 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> | ||
![]() |
2.1 | 48 | |
![]() |
9.1 | 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> | ||
![]() |
2.1 | 58 | |
![]() |
9.1 | 59 | <filter-mapping> |
60 | <filter-name>CAS Single Sign Out Filter</filter-name> | ||
61 | <url-pattern>/*</url-pattern> | ||
62 | </filter-mapping> | ||
![]() |
2.1 | 63 | |
![]() |
9.1 | 64 | <filter-mapping> |
65 | <filter-name>CAS Authentication Filter</filter-name> | ||
66 | <url-pattern>/*</url-pattern> | ||
67 | </filter-mapping> | ||
![]() |
2.1 | 68 | |
![]() |
9.1 | 69 | <filter-mapping> |
70 | <filter-name>CAS Validation Filter</filter-name> | ||
71 | <url-pattern>/*</url-pattern> | ||
72 | </filter-mapping> | ||
![]() |
2.1 | 73 | |
![]() |
9.1 | 74 | <filter-mapping> |
75 | <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> | ||
76 | <url-pattern>/*</url-pattern> | ||
77 | </filter-mapping> | ||
![]() |
2.1 | 78 | |
![]() |
9.1 | 79 | <filter-mapping> |
80 | <filter-name>CAS Assertion Thread Local Filter</filter-name> | ||
81 | <url-pattern>/*</url-pattern> | ||
82 | </filter-mapping> | ||
![]() |
2.1 | 83 | |
![]() |
9.1 | 84 | <listener> |
85 | <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> | ||
86 | </listener> | ||
![]() |
2.1 | 87 | {{/code}} |
88 | ))) | ||
![]() |
7.1 | 89 | 1. Pro odhlášení uživatele z CAS je potřeba přistoupit na url ##https:~/~/www.sso.vsb.cz/logout##.((( |
![]() |
2.1 | 90 | Před odhlášením z CAS je vhodné zrušit session v aplikaci klienta (zaleží to však na konkrétním klientu). |
91 | |||
92 | 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ý | ||
93 | 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. | ||
![]() |
3.1 | 94 | |
![]() |
7.1 | 95 | např. ##https:~/~/www.sso.vsb.cz/logout?service=https%3A%2F%2Fklient.vsb.cz## |
![]() |
2.1 | 96 | ))) |
![]() |
3.1 | 97 | 1. Přihlášenou osobu v aplikaci lze pak jednoduše zjistit pomoci((( |
![]() |
8.1 | 98 | {{code language="java"}} |
![]() |
10.1 | 99 | request.getRemoteUser(); |
![]() |
3.1 | 100 | {{/code}} |
101 | ))) | ||
102 |