# Login mit JSF 2.0 und Glassfish 3.1.1 (in Netbeans 7.0.1)



## eagle1985 (20. Okt 2011)

Hallo zusammen,

versuche einer Enterprise-Application einen Folder mit JSF-XHTML-Dokumenten zu sichern.
Wollte hier die Container-Funktionen nutzten und dies im web.xml hinterlegen.

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        <security-role-ref>
            <description/>
            <role-name>EnAppSec</role-name>
            <role-link>EnAppWebShop</role-link>
        </security-role-ref>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
    <security-constraint>
        <display-name>SecuredActions</display-name>
        <web-resource-collection>
            <web-resource-name>SecuredActions</web-resource-name>
            <url-pattern>/secured/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>EnAppWebShop</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <realm-name>file-based-auth</realm-name>
        <form-login-config>
            <form-login-page>/login.xhtml</form-login-page>
            <form-error-page>/error.xhtml</form-error-page>
        </form-login-config>
    </login-config>
    <security-role>
        <description>Makes sure that certan Sites can only be deployed by Signed-In Users</description>
        <role-name>EnAppWebShop</role-name>
    </security-role>
</web-app>[/XML]

ich will alles was im Subfolder secured ist schützen lassen.
Leider komme ich einfach so drauf und die Umleitung auf das login.xhtml funktioniert nicht.

Mache dies so, weill ich mit nur einem Login neben der Session auch den User für die Applikation festlegen kann.
Oder wie überprüft j_security_check die User/Passwörter aus meiner DB?

besten dank für eure Hilfe...

Gruss


----------



## maki (20. Okt 2011)

Fehlermeldungen bzw. unerwartetes Verhalten?



> Oder wie überprüft j_security_check die User/Passwörter aus meiner DB?


Das legst du in deinem Realm fest.


----------



## eagle1985 (20. Okt 2011)

heisst ich muss auf der WebAdmin-Console von Glassfish einen JDBC-Realm auf meine DB setzten, richtig?

Das fehlverhalten bis jetzt ist, dass ich ohne auf das login.xhtml-File verlinkt zu werden direkt ohne Authentifizierung auf die Files im secured Ordner zugreifen kann.

Muss ich die Security für Glassfish zuerst aktivieren, damit er die Einstellungem im Web.xml berücksichtigt?


----------

