Benutzerauthentifizierung unter Glassfish V3

enrix

Mitglied
Guten Tag Forummitglieder,

ich bin neu hier angemeldet und habe auch gleich eine frage. Seit kurzem lerne ich J2EE unter Glassfish V3 und interessiere mich im moment für eine benutzerauthentifizierung. Leider sind meine Kenntnisse noch sehr bescheiden und die literatur ist für einen anfänger schwer zu verstehen.

Ich möchte den gesamten bereich (Web pages) vor Zugriffen schützen. Nur Benutzer in der Rolle manager dürfen diese Webanwendung benutzen.
ich habe die web.xml wie folgt deklariert,

Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">


   

    <security-constraint>
        <display-name>protected area</display-name>
        <web-resource-collection>
            <web-resource-name>SecurityArea</web-resource-name>
            <description/>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>HEAD</http-method>
            <http-method>PUT</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
            <http-method>DELETE</http-method>
        </web-resource-collection>
            <auth-constraint>
                <role-name>manager</role-name>
            </auth-constraint>
    </security-constraint>



    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Default</realm-name>
        </login-config>
    </web-app>
Wie man sieht, versuche ich eine ganz einfache basic-authentifizierung durchzuführen.
Wenn ich nun die webanwendung starte, werde ich nach einem Benutzernamen und einem Passwort gefragt. Nun habe ich gelesen, dass man ein <security-role-mapping> initialisieren muss in der datei sun-web.xml um dort verschiedene rollen und principals festzulegen.
das habe ich wie folgt getan,
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app error-url="">
  <context-root>/PENMAN</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>



  <security-role-mapping>
        <role-name>manager</role-name>
        <principal-name>Karl</principal-name>
        <principal-name>Karsten</principal-name>
        <group-name>Gruppenname</group-name>
 </security-role-mapping>

    <security-role-mapping>
        <role-name>administrator</role-name>
        <principal-name>Tim</principal-name>
    </security-role-mapping>



</sun-web-app>
Wenn ich nun die Anwendung starte, und den principal "Karl" eingebe tut sich nichts. Meine frage ist nun, wo kann ich für einen Benutzer (principal) die logindaten (benutzername,passwort) festlegen? Leider finde ich in der literatur nur beispiele die tomcat als application server verwenden. Wie könnte man logindaten in glassfish festlegen?

Bin für jede hilfe dankbar!

mfg enrix
l
 
Zurück