Wiki source code of CAS Java klient
Version 17.1 by Petr Abrahamczik on 07.02.2019 13:54
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
15.1 | 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. |
![]() |
2.1 | 2 | |
![]() |
15.1 | 3 | 1. Do webové 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 | ))) | ||
![]() |
17.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/* ((( |
![]() |
15.1 | 13 | |
![]() |
9.1 | 14 | {{code language="xml"}} |
15 | <filter> | ||
16 | <filter-name>CAS Single Sign Out Filter</filter-name> | ||
17 | <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> | ||
18 | <init-param> | ||
19 | <param-name>casServerUrlPrefix</param-name> | ||
20 | <param-value>https://www.sso.vsb.cz</param-value> | ||
21 | </init-param> | ||
![]() |
15.1 | 22 | </filter> |
![]() |
8.1 | 23 | |
![]() |
9.1 | 24 | <filter> |
25 | <filter-name>CAS Authentication Filter</filter-name> | ||
26 | <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> | ||
27 | <init-param> | ||
28 | <param-name>casServerUrlPrefix</param-name> | ||
29 | <param-value>https://www.sso.vsb.cz</param-value> | ||
30 | </init-param> | ||
31 | <init-param> | ||
32 | <param-name>serverName</param-name> | ||
33 | <param-value>https://klient.vsb.cz</param-value> | ||
34 | </init-param> | ||
35 | </filter> | ||
![]() |
2.1 | 36 | |
![]() |
9.1 | 37 | <filter> |
38 | <filter-name>CAS Validation Filter</filter-name> | ||
39 | <filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class> | ||
40 | <init-param> | ||
41 | <param-name>casServerUrlPrefix</param-name> | ||
42 | <param-value>https://www.sso.vsb.cz</param-value> | ||
43 | </init-param> | ||
44 | <init-param> | ||
45 | <param-name>serverName</param-name> | ||
46 | <param-value>https://klient.vsb.cz</param-value> | ||
47 | </init-param> | ||
48 | </filter> | ||
![]() |
15.1 | 49 | |
![]() |
9.1 | 50 | <filter> |
51 | <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> | ||
52 | <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> | ||
53 | </filter> | ||
54 | |||
55 | <filter> | ||
56 | <filter-name>CAS Assertion Thread Local Filter</filter-name> | ||
57 | <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> | ||
![]() |
15.1 | 58 | </filter> |
59 | |||
![]() |
9.1 | 60 | <filter-mapping> |
61 | <filter-name>CAS Single Sign Out Filter</filter-name> | ||
62 | <url-pattern>/*</url-pattern> | ||
63 | </filter-mapping> | ||
![]() |
15.1 | 64 | |
![]() |
9.1 | 65 | <filter-mapping> |
66 | <filter-name>CAS Authentication Filter</filter-name> | ||
67 | <url-pattern>/*</url-pattern> | ||
68 | </filter-mapping> | ||
![]() |
2.1 | 69 | |
![]() |
9.1 | 70 | <filter-mapping> |
71 | <filter-name>CAS Validation Filter</filter-name> | ||
72 | <url-pattern>/*</url-pattern> | ||
73 | </filter-mapping> | ||
![]() |
2.1 | 74 | |
![]() |
9.1 | 75 | <filter-mapping> |
76 | <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> | ||
77 | <url-pattern>/*</url-pattern> | ||
78 | </filter-mapping> | ||
![]() |
15.1 | 79 | |
![]() |
9.1 | 80 | <filter-mapping> |
81 | <filter-name>CAS Assertion Thread Local Filter</filter-name> | ||
82 | <url-pattern>/*</url-pattern> | ||
83 | </filter-mapping> | ||
![]() |
15.1 | 84 | |
![]() |
9.1 | 85 | <listener> |
86 | <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> | ||
87 | </listener> | ||
![]() |
2.1 | 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"}} |
![]() |
15.1 | 99 | request.getRemoteUser(); |
![]() |
3.1 | 100 | {{/code}} |
101 | ))) | ||
![]() |
17.1 | 102 | {{/code}} |
103 | ))) | ||
![]() |
16.1 | 104 |