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
Změnit komentář: Žádné komentáře k této verzi
Na verzi 2.1
změnil(a) Petr Abrahamczik
k 07.02.2019 10:46
Změnit komentář: Žádné komentáře k této verzi

Summary

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 +)))