users@glassfish.java.net

[gf-users] v4 Programatic login

From: Tomaz Majerhold <tomaz.majerhold_at_arnes.si>
Date: Thu, 22 May 2014 09:58:05 +0200

Whay ProgrammaticLogin not working, I'm trying to port apliactions from
GF v3.1.2 to GF v4

1) GF :
----------
Name:
        
server
Status:
        
RunningRunning
JVM:
        
JVM Report <http://localhost:4848/common/index.jsf#>
Configuration:
        
server-config
<http://localhost:4848/common/configuration/configuration.jsf?configName=server-config>
Installation Directory:
        
A:\IDE\glassfish-4.0_NetBeans8\Program Files\glassfish
Installed Version:
        
GlassFish Server Open Source Edition 4.0 (build 89)
Secure Administration:
        
Not Enabled
Debug:
        
Not Enabled
Up Time:
        
34 Minutes 13 Seconds
HTTP Port(s):
        
4848,8080,8181
IIOP Port(s)
        
3820,3920,3700


2) In server.policy I enabled
// EJB securety
grant codeBase "file:${com.sun.aas.installRoot}/modules/-" {
  permission com.sun.appserv.security.ProgrammaticLoginPermission
  "login";
  };

  // EJB securety
grant codeBase "file:${com.sun.aas.installRoot}/modules/-" {
  permission com.sun.appserv.security.ProgrammaticLogin
  "login";
  };

in modules directory I have security.jar, security-ee.jar,
security-ee-l10n.jar, security-l10n.jar, security-services.jar


3) But when I start my web application ProgramaticLogin was NOT in
classpath(No class, so strange ...)

4) Ok put dependecy in my web apliaction
<!-- EJB -->
         <dependency>
             <groupId>org.glassfish.security</groupId>
             <artifactId>security</artifactId>
             <version>3.2-b06</version>
             <type>jar</type>
         </dependency>
         <dependency>
             <groupId>javax</groupId>
             <artifactId>javaee-web-api</artifactId>
             <version>7.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.glassfish</groupId>
             <artifactId>javax.ejb</artifactId>
             <version>3.1.1</version>
             <scope>provided</scope>
         </dependency>

But then I get even stranger error, I coulden find solution on internet,
the error is:

ava.lang.NoSuchMethodError:
com.sun.enterprise.security.SecurityServicesUtil.getHabitat()Lorg/jvnet/hk2/component/Habitat;
     at
com.sun.appserv.security.ProgrammaticLogin.resolveWebProgrammaticLogin(ProgrammaticLogin.java:517)
     at
com.sun.appserv.security.ProgrammaticLogin.<init>(ProgrammaticLogin.java:116)
     at
si.arnes.apis.wc.api.EjbLookupConnector.login(EjbLookupConnector.java:44)



So what I'm doing wrong?

Regards, Tomaz( Majerhold