2016-07-28 58 views
1

Anwendungsfall:anpassen forgot_password.jsp in Liferays Login Haken

  • Eine bestehende Liferay Benutzer sein Passwort vergessen hat.
  • Er klickt auf den Link "Passwort vergessen" (Login-Hook).
  • Der Benutzer gibt seinen Anmeldenamen ein, der sein Bildschirmname ist.
  • Nun zu meinem Problem: Wenn ein Benutzer einen bestimmten Login-Namen kommt (was ich
    mit einem regex erkennen) und klickt auf die Schaltfläche „Senden neues Passwort“ i want die Standardaktion dieser Taste zu verhindern und eine Anzeige Infomessage statt (zB. Wir können Sie nicht ein neues Passwort ...)

um ehrlich zu sein ich im Moment keine Ahnung, wie man diesen Ansatz ...

  1. Vielleicht schaffen ein Ext Plugin und überschreiben die Forg otPasswordAction-Klasse?
  2. Ist es möglich, alles innerhalb der forgot_password.jsp zu tun?
  3. Kann ich es tun, ohne ein Plugin zu schreiben?

Hoffe jemand kann mir helfen. Danke

Antwort

1

Ohne ein Plugin nein, können Sie das nicht tun.

  1. Der einfachste Weg wäre, das sein würde, wenn Sie Ihr Passwort-Check in Javascript oder vielleicht mit einer Kontrolle erfolgt Ajax mit einem jsp Haken zu verwenden und diesen Code in forgot_password.jsp

2. Zweite Möglichkeit wäre, ein Streben Aktion Haken zu machen, wo Sie die Aktion Standardeinstellung überschreiben /login/forgot_password des Update-Passwort form.For dies in Ihrem liferay-hook.xml add:

<struts-action> 
    <struts-action-path>/login/forgot_password</struts-action-path> 
    <struts-action-impl>com.myproject.hook.NewPasswordPortletAction</struts-action-impl> 
</struts-action> 

dieses n hinzufügen ew Klasse zu Ihrem Projekt ein

public void processAction(
      StrutsPortletAction originalStrutsPortletAction, 
      PortletConfig portletConfig, ActionRequest actionRequest, 
      ActionResponse actionResponse) 
     throws Exception { 
     //Custom code to handle password 

     //and than call original action handler if the password entered should be saved 
     originalStrutsPortletAction.processAction(
      originalStrutsPortletAction, portletConfig, actionRequest, 
      actionResponse); 
    } 

Was die Ext, sollten Sie alwayes nicht versuchen, es zu benutzen, da dies mit einem Haken gehen mit ihr geschehen.

+0

Große Antwort. Ich würde empfehlen, mit 2 für den Code zu gehen. Vielleicht brauchen Sie 1 für die korrekte Anzeige der resultierenden Nachricht, aber die JSP sollte nicht Ihre Geschäftslogik –

+0

Perfect enthalten. Danke für die Hilfe. – HelmutSteiner

+0

Akzeptieren Sie die Antwort, wenn es Ihr Problem gelöst hat ... – KLajdPaja