„Default web module“ vs. „Formulářová autentizace“
Když máme webovou aplikaci jako výchozí modul pro danou doménu,
je problém s formulářovou autentizací.
Po ověření uživatele (j_security_check) dojde k přesměrování
na kontext aplikace (/nekurak.net-web/…) a tam uživatel přihlášený není
(je přihlášený v rootu daného virtuálu-domény).
Když pro umístění aplikace do rootu serveru (domény) použijeme místo
„Default web module“ nastavení „<context-root>/</context-root>“
v souboru „application.xml“, tento problém odpadá.
(ale zase to komplikuje vývoj aplikace,
protože na vývojovém serveru obvykle nechceme mít aplikaci v rootu)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
3 xmlns:c="http://java.sun.com/jsp/jstl/core"
4 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
6 <jsp:directive.page contentType="application/xhtml+xml"/>
7 <jsp:output doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd"
8 doctype-root-element="html"
9 omit-xml-declaration="false"/>
12 <c:if test="${param.jazyk != null}">
13 <fmt:setLocale value="${param.jazyk}" scope="session"/>
15 <fmt:setBundle basename="cz.frantovo.nekurak.preklady" scope="application"/>
16 <!-- </lokalizace> -->
18 <!-- <autentizace> -->
19 <c:set var="prihlasenyUzivatel" scope="request" value="${pageContext.request.userPrincipal.name}"/>
20 <c:if test="${param.akce == 'prihlaseni' && param.odhlasit == 'ano'}">
22 Uživatele musíme odhlásit dřív, než vykreslíme nabídku,
23 která závisí na tom, zda je uživatel přihlášený nebo ne.
24 „prihlaseni.jsp?odhlasit=ano“ už vypíše jen hlášku, že byl odhlášen.
26 <jsp:scriptlet>session.invalidate();</jsp:scriptlet>
27 <c:set var="prihlasenyUzivatel" scope="request" value="${null}"/>
29 <!-- </autentizace> -->
32 <html xmlns="http://www.w3.org/1999/xhtml"
33 xmlns:svg="http://www.w3.org/2000/svg"
34 xmlns:xlink="http://www.w3.org/1999/xlink">
36 <title><fmt:message key="nazev"/></title>
37 <link href="styl.css" type="text/css" rel="StyleSheet"/>
43 <h1><fmt:message key="nazev"/></h1>
47 <li><a href="?"><fmt:message key="uvod"/></a></li>
50 <c:when test="${prihlasenyUzivatel == null}">
51 <li><a href="?akce=prihlaseni"><fmt:message key="prihlasitSe"/></a></li>
54 <li><a href="?akce=pridatPodnik"><fmt:message key="pridatPodnik"/></a></li>
55 <li id="prihlasenyUzivatel"><fmt:message key="prihlasenyUzivatel"/>: ${prihlasenyUzivatel}</li>
56 <li><a href="?akce=prihlaseni&amp;odhlasit=ano"><fmt:message key="odhlasitSe"/></a></li>
62 <jsp:include page="/WEB-INF/casti/prepinaniJazyku.jsp" flush="false"/>
67 <c:when test="${param.akce == 'detail'}">
68 <jsp:include page="/WEB-INF/casti/detail.jsp" flush="false"/>
70 <c:when test="${param.akce == 'pridatPodnik'}">
71 <jsp:include page="/WEB-INF/casti/pridatPodnik.jsp" flush="false"/>
73 <c:when test="${param.akce == 'prihlaseni'}">
74 <jsp:include page="/WEB-INF/casti/prihlaseni.jsp" flush="false"/>
77 <jsp:include page="/WEB-INF/casti/uvod.jsp" flush="false"/>
85 <fmt:message key="licence"/>&#160;
86 <a href="nekurak.net-src.zip">nekurak.net-src.zip</a>
87 <a href="nekurak.net-src.zip.SHA-512">.</a>