Changes for page CAS Java klient

Last modified by Petr Abrahamczik on 16.04.2024 10:22

From version 8.1
edited by Petr Abrahamczik
on 07.02.2019 11:05
Change comment: There is no comment for this version
To version 13.1
edited by Petr Abrahamczik
on 07.02.2019 13:43
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,95 +1,166 @@
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]].
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 2  
3 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 5  {{code language="xml"}}
6 6  <dependency>
7 - <groupId>org.jasig.cas.client</groupId>
8 - <artifactId>cas-client-core</artifactId>
9 - <version>3.5.1</version>
6 + <groupId>org.jasig.cas.client</groupId>
7 + <artifactId>cas-client-core</artifactId>
8 + <version>3.5.1</version>
10 10  </dependency>
11 11  {{/code}}
12 12  )))
13 -1. Nakonfigurovat web.xml. V uvedené konfiguraci je nutné nahradit adresu klienta https://klient.vsb.cz s URL našeho serveru.(((
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ř.(((
13 +/private/*
14 14  
15 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>
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 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>
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 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>
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 60  
61 - <filter-mapping>
62 - <filter-name>CAS Single Sign Out Filter</filter-name>
63 - <url-pattern>/*</url-pattern>
64 - </filter-mapping>
61 +<filter-mapping>
62 + <filter-name>CAS Single Sign Out Filter</filter-name>
63 + <url-pattern>/*</url-pattern>
64 +</filter-mapping>
65 65  
66 - <filter-mapping>
67 - <filter-name>CAS Authentication Filter</filter-name>
68 - <url-pattern>/*</url-pattern>
69 - </filter-mapping>
66 +<filter-mapping>
67 + <filter-name>CAS Authentication Filter</filter-name>
68 + <url-pattern>/*</url-pattern>
69 +</filter-mapping>
70 70  
71 - <filter-mapping>
72 - <filter-name>CAS Validation Filter</filter-name>
73 - <url-pattern>/*</url-pattern>
74 - </filter-mapping>
71 +<filter-mapping>
72 + <filter-name>CAS Validation Filter</filter-name>
73 + <url-pattern>/*</url-pattern>
74 +</filter-mapping>
75 75  
76 - <filter-mapping>
77 - <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
78 - <url-pattern>/*</url-pattern>
79 - </filter-mapping>
76 +<filter-mapping>
77 + <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
78 + <url-pattern>/*</url-pattern>
79 +</filter-mapping>
80 80  
81 - <filter-mapping>
82 - <filter-name>CAS Assertion Thread Local Filter</filter-name>
83 - <url-pattern>/*</url-pattern>
84 - </filter-mapping>
81 +<filter-mapping>
82 + <filter-name>CAS Assertion Thread Local Filter</filter-name>
83 + <url-pattern>/*</url-pattern>
84 +</filter-mapping>
85 85  
86 - <listener>
87 - <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
88 - </listener>
86 +<listener>
87 + <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
88 +</listener>
89 89  {{/code}}
90 +
91 +(% class="box" %)
92 +(((
93 +(% class="code" %)
94 +(((
95 +(% style="color:#008000; font-weight:bold" %)##**<filter>**##(%%)##
96 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Single Sign Out Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
97 + (% style="color:#008000; font-weight:bold" %)**<filter-class>**(%%)org.jasig.cas.client.session.SingleSignOutFilter(% style="color:#008000; font-weight:bold" %)**</filter-class>**(%%)
98 + (% style="color:#008000; font-weight:bold" %)**<init-param>**(%%)
99 + (% style="color:#008000; font-weight:bold" %)**<param-name>**(%%)casServerUrlPrefix(% style="color:#008000; font-weight:bold" %)**</param-name>**(%%)
100 + (% style="color:#008000; font-weight:bold" %)**<param-value>**(%%)https:~/~/www.sso.vsb.cz(% style="color:#008000; font-weight:bold" %)**</param-value>**(%%)
101 + (% style="color:#008000; font-weight:bold" %)**</init-param>**(%%)
102 +(% style="color:#008000; font-weight:bold" %)**</filter>**(%%)
103 +\\(% style="color:#008000; font-weight:bold" %)**<filter>**(%%)
104 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Authentication Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
105 + (% style="color:#008000; font-weight:bold" %)**<filter-class>**(%%)org.jasig.cas.client.authentication.AuthenticationFilter(% style="color:#008000; font-weight:bold" %)**</filter-class>**(%%)
106 + (% style="color:#008000; font-weight:bold" %)**<init-param>**(%%)
107 + (% style="color:#008000; font-weight:bold" %)**<param-name>**(%%)casServerUrlPrefix(% style="color:#008000; font-weight:bold" %)**</param-name>**(%%)
108 + (% style="color:#008000; font-weight:bold" %)**<param-value>**(%%)https:~/~/www.sso.vsb.cz(% style="color:#008000; font-weight:bold" %)**</param-value>**(%%)
109 + (% style="color:#008000; font-weight:bold" %)**</init-param>**(%%)
110 + (% style="color:#008000; font-weight:bold" %)**<init-param>**(%%)
111 + (% style="color:#008000; font-weight:bold" %)**<param-name>**(%%)serverName(% style="color:#008000; font-weight:bold" %)**</param-name>**(%%)
112 + (% style="color:#008000; font-weight:bold" %)**<param-value>**(%%)https:~/~/klient.vsb.cz(% style="color:#008000; font-weight:bold" %)**</param-value>**(%%)
113 + (% style="color:#008000; font-weight:bold" %)**</init-param>**(%%)
114 +(% style="color:#008000; font-weight:bold" %)**</filter>**(%%)
115 +
116 +(% style="color:#008000; font-weight:bold" %)**<filter>**(%%)
117 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Validation Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
118 + (% style="color:#008000; font-weight:bold" %)**<filter-class>**(%%)org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter(% style="color:#008000; font-weight:bold" %)**</filter-class>**(%%)
119 + (% style="color:#008000; font-weight:bold" %)**<init-param>**(%%)
120 + (% style="color:#008000; font-weight:bold" %)**<param-name>**(%%)casServerUrlPrefix(% style="color:#008000; font-weight:bold" %)**</param-name>**(%%)
121 + (% style="color:#008000; font-weight:bold" %)**<param-value>**(%%)https:~/~/www.sso.vsb.cz(% style="color:#008000; font-weight:bold" %)**</param-value>**(%%)
122 + (% style="color:#008000; font-weight:bold" %)**</init-param>**(%%)
123 + (% style="color:#008000; font-weight:bold" %)**<init-param>**(%%)
124 + (% style="color:#008000; font-weight:bold" %)**<param-name>**(%%)serverName(% style="color:#008000; font-weight:bold" %)**</param-name>**(%%)
125 + (% style="color:#008000; font-weight:bold" %)**<param-value>**(%%)https:~/~/klient.vsb.cz(% style="color:#008000; font-weight:bold" %)**</param-value>**(%%)
126 + (% style="color:#008000; font-weight:bold" %)**</init-param>**(%%)
127 +(% style="color:#008000; font-weight:bold" %)**</filter>**(%%)
128 +\\(% style="color:#008000; font-weight:bold" %)**<filter>**(%%)
129 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS HttpServletRequest Wrapper Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
130 + (% style="color:#008000; font-weight:bold" %)**<filter-class>**(%%)org.jasig.cas.client.util.HttpServletRequestWrapperFilter(% style="color:#008000; font-weight:bold" %)**</filter-class>**(%%)
131 +(% style="color:#008000; font-weight:bold" %)**</filter>**(%%)
132 +\\(% style="color:#008000; font-weight:bold" %)**<filter>**(%%)
133 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Assertion Thread Local Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
134 + (% style="color:#008000; font-weight:bold" %)**<filter-class>**(%%)org.jasig.cas.client.util.AssertionThreadLocalFilter(% style="color:#008000; font-weight:bold" %)**</filter-class>**(%%)
135 +(% style="color:#008000; font-weight:bold" %)**</filter>**(%%)
136 +\\(% style="color:#008000; font-weight:bold" %)**<filter-mapping>**(%%)
137 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Single Sign Out Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
138 + (% style="color:#008000; font-weight:bold" %)**<url-pattern>**(%%)/*(% style="color:#008000; font-weight:bold" %)**</url-pattern>**(%%)
139 +(% style="color:#008000; font-weight:bold" %)**</filter-mapping>**(%%)
140 +\\(% style="color:#008000; font-weight:bold" %)**<filter-mapping>**(%%)
141 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Authentication Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
142 + (% style="color:#008000; font-weight:bold" %)**<url-pattern>**(%%)/*(% style="color:#008000; font-weight:bold" %)**</url-pattern>**(%%)
143 +(% style="color:#008000; font-weight:bold" %)**</filter-mapping>**(%%)
144 +
145 +(% style="color:#008000; font-weight:bold" %)**<filter-mapping>**(%%)
146 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Validation Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
147 + (% style="color:#008000; font-weight:bold" %)**<url-pattern>**(%%)/*(% style="color:#008000; font-weight:bold" %)**</url-pattern>**(%%)
148 +(% style="color:#008000; font-weight:bold" %)**</filter-mapping>**(%%)
149 +
150 +(% style="color:#008000; font-weight:bold" %)**<filter-mapping>**(%%)
151 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS HttpServletRequest Wrapper Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
152 + (% style="color:#008000; font-weight:bold" %)**<url-pattern>**(%%)/*(% style="color:#008000; font-weight:bold" %)**</url-pattern>**(%%)
153 +(% style="color:#008000; font-weight:bold" %)**</filter-mapping>**(%%)
154 +\\(% style="color:#008000; font-weight:bold" %)**<filter-mapping>**(%%)
155 + (% style="color:#008000; font-weight:bold" %)**<filter-name>**(%%)CAS Assertion Thread Local Filter(% style="color:#008000; font-weight:bold" %)**</filter-name>**(%%)
156 + (% style="color:#008000; font-weight:bold" %)**<url-pattern>**(%%)/*(% style="color:#008000; font-weight:bold" %)**</url-pattern>**(%%)
157 +(% style="color:#008000; font-weight:bold" %)**</filter-mapping>**(%%)
158 +\\(% style="color:#008000; font-weight:bold" %)**<listener>**(%%)
159 + (% style="color:#008000; font-weight:bold" %)**<listener-class>**(%%)org.jasig.cas.client.session.SingleSignOutHttpSessionListener(% style="color:#008000; font-weight:bold" %)**</listener-class>**(%%)
160 +(% style="color:#008000; font-weight:bold" %)**</listener>**(%%)##
90 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.
162 +)))
163 +)))
93 93  1. Pro odhlášení uživatele z CAS je potřeba přistoupit na url ##https:~/~/www.sso.vsb.cz/logout##.(((
94 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 95  
... ... @@ -99,9 +99,8 @@
99 99   např. ##https:~/~/www.sso.vsb.cz/logout?service=https%3A%2F%2Fklient.vsb.cz##
100 100  )))
101 101  1. Přihlášenou osobu v aplikaci lze pak jednoduše zjistit pomoci(((
102 -
103 103  {{code language="java"}}
104 - request.getRemoteUser();
174 +request.getRemoteUser();
105 105  {{/code}}
106 106  )))
107 107