J2EE Security Problem - Authentification von einer JSP-Seite

frank_b

Grünschnabel
Hi, ich möchte mich von einer jsp-seite aus eine methode einer session bean ausführen und die authentification und authorisation mechanismen verwenden. (web-container und ejb-container sind im gleichen J2ee server. dazu mache ich ein jndi-lookup auf ein Local-Business-Interface. weiters übergebe ich mittels einem properties objekt benutzername und passwort für die authentifizierung.

Ich verwende den SUN App Server 9. In den Standardrealm "file" habe ich einen neuen Benutzer "TestUser" angelegt. Die Rolle "TestRole" wird direkt in der SessionBean angelegt. Das Mapping von der Rolle zum Benutzer wird in xml-datei "sun-application.xml" durchgeführt.

Wenn ich die jsp-seite ausführe bekomme ich folgende fehlermeldung:

JACC Policy Provider: PolicyWrapper.implies, context(EnterpriseApplication1/EnterpriseApplication1-ejb_jar)- permission((javax.security.jacc.EJBMethodPermission TestBean testMethod,Local,)) domain that failed(ProtectionDomain (file:/EnterpriseApplication1/EnterpriseApplication1-ejb_jar <no signer certificates>)
null
<no principals>
-------------------------------------------------

Kann mir jemand helfen und mir erklären wo das Problem liegt? Oder habe ich das falsch verstanden und das ist so garnicht möglich wie ich mir das vorstelle?
Danke für die Hilfe im vorraus!



Auszug aus der jsp-Seite:

Properties p = new Properties();
p.put(Context.SECURITY_PRINCIPAL, "TestUser");
p.put(Context.SECURITY_CREDENTIALS, "TestUser");

Context jndiContext = new InitialContext(p);
try{
TestLocal testlocal = (TestLocal)jndiContext.lookup("java:comp/env/ejb/TestLocal");
...
}catch(NameNotFoundException e){
....
}
---------------------------------------------

Auszug aus Session Bean:

@Stateless
@DeclareRoles("TestRole")
public class TestBean implements TestLocal {

@RolesAllowed("TestRole")
public void testMethod(){
...
}

}
-------------------------------------------

Auszug aus sun-application.xml

<sun-application>
<security-role-mapping>
<role-name>TestRole</role-name>
<principal-name>TestUser</principal-name>
</security-role-mapping>
</sun-application>
 

Neue Beiträge

Zurück