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
Change comment: There is no comment for this version
To version 8.1
edited by Petr Abrahamczik
on 07.02.2019 11:05
Change comment: There is no comment for this version

Summary

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 +