Hallo,
ich versuche gerade einen Login per JDBCRealm zu realisieren. Im Prinzip funktioniert es auch. Soll heissen: nach einer falschen UID/PWD Eingabe erscheint die Fehler-Seite. Allerdings ist die Reaktion nach einer gültigen Kombi für mich merkwürdig. Ich zeige erstmal die relevanten Code-Teile:
web.xml:
[XML] <welcome-file-list>
<welcome-file>/home.xhtml</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>userConstraint</display-name>
<web-resource-collection>
<web-resource-name>all</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>user</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>twiburealm</realm-name>
<form-login-config>
<form-login-page>/faces/login.xhtml</form-login-page>
<form-error-page>/faces/loginError.xhtml</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description/>
<role-name>user</role-name>
</security-role>
<security-role>
<description/>
<role-name>admin</role-name>
</security-role>[/XML]
login.xhtml:
template.xhtml:
Die interessante Zeile ist in template.xhtml. Und zwar setze ich da ja einen link für eine CSS-Datei:
Wenn diese Zeile da ist wird nach erfolgreichem Login diese CSS-Datei im Editor geöffnet. Ist die Zeile nicht da kommt die gewünschte Seite home.xhtml. Ich habe keine Idee woran das liegen könnte.
Grüße,
Willi
P.S.: Das Ganze unter GlassFish 3.1.2 unter windows
ich versuche gerade einen Login per JDBCRealm zu realisieren. Im Prinzip funktioniert es auch. Soll heissen: nach einer falschen UID/PWD Eingabe erscheint die Fehler-Seite. Allerdings ist die Reaktion nach einer gültigen Kombi für mich merkwürdig. Ich zeige erstmal die relevanten Code-Teile:
web.xml:
[XML] <welcome-file-list>
<welcome-file>/home.xhtml</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>userConstraint</display-name>
<web-resource-collection>
<web-resource-name>all</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>user</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>twiburealm</realm-name>
<form-login-config>
<form-login-page>/faces/login.xhtml</form-login-page>
<form-error-page>/faces/loginError.xhtml</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description/>
<role-name>user</role-name>
</security-role>
<security-role>
<description/>
<role-name>admin</role-name>
</security-role>[/XML]
login.xhtml:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<body>
<ui:composition template="/template.xhtml">
<ui:define name="title">
<h:outputText value="TWiBu - Login"/>
</ui:define>
<ui:define name="header">
<c:set target="#{flash}" property="keepMessages" value="true" />
</ui:define>
<ui:define name="content">
<f:view>
<form method="post" action="j_security_check" name="loginForm">
<p/>Bitte melden Sie sich
<p/>mit Ihrer Userid und
<p/>Ihrem Passwort an:
<p/>
<h:outputLabel value="Userid:"/>
<h:inputText id="j_username"/>
<br/>
<h:outputLabel value="Passwort:"/>
<h:inputSecret id="j_password"/>
<p/>
<h:commandButton value="Login" id="loginid"/>
<p/>
<h:message for="loginid"/>
</form>
</f:view>
</ui:define>
</ui:composition>
</body>
</html>
template.xhtml:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<h:outputStylesheet library="style" name="twibu.css"/>
<link rel="shortcut icon" type="image/x-icon" href="#{request.contextPath}/resources/images/icon.ico" />
<link rel="icon" type="image/x-icon" href="#{request.contextPath}/resources/images/icon.ico" />
<title><ui:insert name="title">TWiBu - Standard-Titel</ui:insert></title>
<ui:insert name="header"/>
</h:head>
<h:body>
<ui:insert name="content"/>
</h:body>
</html>
Die interessante Zeile ist in template.xhtml. Und zwar setze ich da ja einen link für eine CSS-Datei:
Code:
<link rel="shortcut icon" type="image/x-icon" href="#{request.contextPath}/resources/images/icon.ico" />
Wenn diese Zeile da ist wird nach erfolgreichem Login diese CSS-Datei im Editor geöffnet. Ist die Zeile nicht da kommt die gewünschte Seite home.xhtml. Ich habe keine Idee woran das liegen könnte.
Grüße,
Willi
P.S.: Das Ganze unter GlassFish 3.1.2 unter windows
Zuletzt bearbeitet: