2010-11-11 53 views
1

J'essaye de faire un autologinfilter dans Eclipse en utilisant un crochet liferay.Liferay hook: URL du filtre donnant l'erreur filterstart et l'URL actuelle génère l'exception null

Maintenant, j'ai ajouté:

<filter> 
    <filter-name>myautologinfilter</filter-name> 
    <filter-class>bla.bla.xyz</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>myautologinfilter</filter-name> 
    <url-pattern>/c/login/myurl</url-pattern> 
</filter-mapping> 

au web.xml du crochet Liferay.

Dans le Liferay-hook.xml I ajouté: <portal-properties>portal.properties</portal-properties>

Et dans ce hook.xml j'ajouté: auto.login.hooks=bla.bla.xyz

bla.bla.xyz implémente AutoLogin, mais pour l'instant il est assez étripé:

@Override 
    public String[] login(HttpServletRequest request, HttpServletResponse response) 
      throws AutoLoginException { 
     Object parameters = request.getAttribute("javax.servlet.forward.query_string"); 
     Map<String, String> x = parserClass.parsing(parameters.toString()); 

     System.out.println("voornaam: " + geparsdeParameters.get("tokenvalue1")); 


     try { 
      return null; 
     } catch (Exception e) { 
      throw new AutoLoginException(e); 
     } 

    } 

Depuis le crochet ne démarre pas quand j'ajoute le filtrage et je l'ai enlevé juste essayé:

http://localhost:8080/c/portal/login?tokenvalue1=55

mais quand je vérifie mon tomcat je vois: Error XYZ Url: url myUsedUrl exception null

Aussi j'ai essayé d'ajouter quelques classes util mais je me suis classnotfoundexception s.

Y at-il quelque chose de spécifique que je dois faire lorsque j'ajoute des classes supplémentaires dans un hook?

Répondre

0

Vous ne devez pas ajouter votre filtre dans web.xml - ajoutez-le simplement à la propriété auto.login.hooks. propriété originale de LR 6.0.5 portal.properties:

auto.login.hooks=com.liferay.portal.security.auth.CASAutoLogin,\ 
    com.liferay.portal.security.auth.FacebookAutoLogin,\ 
    com.liferay.portal.security.auth.NtlmAutoLogin,\ 
    com.liferay.portal.security.auth.OpenIdAutoLogin,\ 
    com.liferay.portal.security.auth.OpenSSOAutoLogin,\ 
    com.liferay.portal.security.auth.RememberMeAutoLogin,\ 
    com.liferay.portal.security.auth.SiteMinderAutoLogin 

Remplacer cette propriété dans portal-ext.properties fichier - ajouter bla.bla.xyz à la fin de la chaîne ou de remplacer tous les filtres avec le vôtre .

+0

mais il est alors lié à c \ portal \ login. Le but était de le mapper à une autre URL. – jack