Login nicht ausgelöst eingeschränkt Seite im glassfish jdbcrealm authentication

Ich bin sehr neu in EJB-Sicherheit und GlassFish Authentifizierungs -, Autorisierungs-Mechanismus. Ich habe eine jdbc Reich und konfiguriert sun-web.xml und web.xml zum anzeigen der Aufgaben und einschränken des Zugriffs auf eine Seite.

Aber mein problem ist, dass wenn ich den Zugang beschränken, zu allen Seiten, es funktioniert und löst das login pop-up, bevor das laden der Startseite (mit BASIC-Authentifizierung).

<web-resource-collection>
  <web-resource-name>All Pages</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>

aber wenn ich den Zugriff beschränken, um eine Seite in einem Ordner security, GlassFish nicht aufgefordert, den login und leitet den Benutzer auf die eingeschränkte Seite.

<web-resource-collection>
  <web-resource-name>All Pages</web-resource-name>
  <description/>
  <url-pattern>/security/*</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>`

Bitte helfen Sie mir dieses problem lösen.. vielen Dank im Voraus.

Fand ich auch diese Einträge, nachdem ich wandte sich auf der security manager

Processing login with credentials of type: class com.sun.enterprise.security.auth.login.PasswordCredential Logging in user [admin] into realm: admin-realm using JAAS module: fileRealm Login module initialized: class com.sun.enterprise.security.auth.login.FileLoginModule File login succeeded for: admin JAAS login complete. JAAS authentication committed. Password login succeeded for : admin permission check done to set SecurityContext Set security context as user: admin

[Web-Security] hasResource perm: (javax.security.jacc.WebResourcePermission /faces/security/UserRedirect.jsp GET)

wie es scheint, admin-principal in der admin-Bereich ist automatisch authentifiziert und verwendet für meine Anwendung lieber als mit meinem jdbcrealm. Irgendwelche Gedanken auf, wie man dieses Problem beheben?

Update

Tut mir Leid, ich habe gerade die Authentifizierung, um die form zu überprüfen. Ich habe ihn back to BASIC wieder.
Und ja, ich habe das jdbcrealm name als default-realm.

Ihr Recht.. es ist genau das

GlassFish nicht-redirect auf die login-Formular-Seite und den Zugriff auf eingeschränkte Ressourcen nicht eingeschränkt

Ich denke, es ist weil admin-realm admin ist automatisch authentifiziert und wenn ich versuche, auf eine eingeschränkte Seite, überprüft der Benutzer authentifiziert, und da er der admin und hat die Berechtigung, die Seite, die die Seite erreichbar ist und nicht die Aufforderung zum login.

Diese immer noch angezeigt werden, wenn ich die Anwendung ausführen und versuchen nicht anmelden, um admin-Konsole Glas-Fisch

Processing login with credentials of type: class com.sun.enterprise.security.auth.login.PasswordCredential
Logging in user [admin] into realm: admin-realm using JAAS module: fileRealm
Login module initialized: class com.sun.enterprise.security.auth.login.FileLoginModule
File login succeeded for: admin
JAAS login complete.
JAAS authentication committed.
Password login succeeded for : admin
permission check done to set SecurityContext
Set security context as user: admin

Auch diese

(unresolved javax.security.jacc.WebUserDataPermission /security/* null)
 (unresolved javax.security.jacc.WebUserDataPermission /:/security/* null)
 (unresolved com.sun.corba.ee.impl.presentation.rmi.DynamicAccessPermission access null)
 (unresolved javax.security.jacc.WebResourcePermission /:/security/* null)
 (unresolved javax.security.jacc.WebResourcePermission /security/* !DELETE,GET,HEAD,OPTIONS,POST,PUT,TRACE)
 (unresolved com.sun.enterprise.security.CORBAObjectPermission * *)

Update 2

Versuchte ich mit <url-pattern>/*</url-pattern>
statt <url-pattern>/security/*</url-pattern>

und interessant das ist, was ich bekam in der Spur.

Processing login with credentials of type: class com.sun.enterprise.security.auth.login.PasswordCredential
Logging in user [employee] into realm: emsSecurity using JAAS module: jdbcRealm
Login module initialized: class com.sun.enterprise.security.auth.login.JDBCLoginModule
JDBC login succeeded for: employee groups:[Ljava.lang.String;@16bfca4
JAAS login complete.
JAAS authentication committed.
Password login succeeded for : employee
permission check done to set SecurityContext
Set security context as user: employee

und es geht um eine access denied Seite.

'HTTP-Status 403 - der Zugriff auf die angeforderte Ressource wurde verweigert'

Ich verstehe nicht, wie glassfish authentifiziert den Benutzer Mitarbeiter, ohne dass der Benutzer die übermittlung der Zugangsdaten. Er selbst sagt, 'Password login gelungen ist : Mitarbeiter". Bitte helfen Sie mir dieses problem zu lösen.


Faust alle danken Ihnen sehr für Ihre Bemühungen. Ich bin immer noch nicht mit dem problem. Ich bin Entsendung hier die xml-Dateien.

sun-web.xml

<security-role-mapping>
<role-name>Employee</role-name>
<group-name>Employee</group-name>

web.xml

    <security-constraint>
    <display-name>Login Constraint</display-name>
    <web-resource-collection>
        <web-resource-name>User Redirect page</web-resource-name>
        <description/>
        <url-pattern>/security/*</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>
        <description/>
        <role-name>Employee</role-name>
        </auth-constraint>
    </security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>deliverySecurity</realm-name>
    <form-login-config>
        <form-login-page>/Login.jsp</form-login-page>
        <form-error-page>/index.jsp</form-error-page>
        </form-login-config>
    </login-config>
<security-role>
    <description/>
    <role-name>Employee</role-name>
</security-role>

Es gibt auch keine stack-trace. Keine Ausnahme.. Der user ist nur Weiterleitung auf die geschützte Seite, als ob es keine Authentifizierungsanforderungen. Dies ist eine jsf visual web development-Projekt mit Netbeans 6.5.1 und Glassfish v2.
Vielen Dank.

  • Welche version von Glassfish sind Sie? Klicken Sie auf "Version" in der Admin-Konsole.
InformationsquelleAutor cadii | 2010-03-06
Schreibe einen Kommentar