2017-05-31 3 views
0

Ich habe ein Thema, wo ich ein Popup haben, um nach den Anmeldeinformationen zu fragen.Behandlung Authentifizierungsfehler in Auto-Login in Liveray

Es hat 2 Felder, Login-ID und Passwort, gefolgt von einem Absenden-Button.

<div class="x"> 
    <div class="y"> 
     <aui:input name="login" id="login" class="z" 
     type="text" placeholder="Email"            showRequiredLabel="<%=false%>" label="" value="<%=login%>"> 
     </aui:input> 
    </div> 
</div> 

<div class="x"> 
    <div class="y"> 
     <aui:input name="password" id="Password" 
     class="z" type="password" placeholder="Password" 
     showRequiredLabel="<%=false%>" label="" value="<%=password%>"> 
     </aui:input> 
    </div> 
</div> 

<div class="x"> 
    <div class="y"> 
     <aui:button-row> 
      <aui:button type="submit" class="btn z" 
      value="Log in" id=z/> 
      </aui:button-row> 
     </div> 
</div> 

<script> 
jQuery(document).ready(function($) { 


$('#z').click(function(){ 
var textBoxEmail= $('#login').val(); 
var textBoxPassword= $('#Password').val(); 
var redirecturl="/home"; 

var url = Liferay.ThemeDisplay.getPortalURL()+"/c/portal/login?login=" + textBoxEmail + "&password=" +textBoxPassword+"&rememberMe=false&redirect=" + redirecturl; 
$("#loginDetails").attr('action',url); 
document.getElementById('loginDetails').submit(); 

} 
}); 

</script> 

Diese Anmeldungen für den positiven Fall, aber wenn das Passwort oder die E-Mail eingegeben ist incorrecet den

zeigt

"Diese Webseite ist nicht verfügbar

ERR_CONTENT_DECODING_FAILED"

Ich möchte die Fehlermeldung auf derselben Seite anzeigen, von der aus ich die Anmeldedaten sende oder ich möchte, dass sie an einige weitergeleitet wird URL, wenn die Authentifizierung fehlschlägt.

Ich benutze liveray-6.2-ce-ga3 und das Thema ist in der Geschwindigkeit ausgelegt.

Antwort

0

Sie könnten zu /c/portal/login?redirect=currenturl umleiten, die auf die aktuelle URL umleitet. Einen Haken zu schreiben ist eine weitere Option, wenn Sie mehr anpassen möchten.

0

Also, bevor Sie überhaupt anfangen, würde ich Ihr Design von einem architektonischen Standpunkt in Frage stellen. In Liferay ist die Login-Funktionalität ein eigenes Portlet (das Login-Portlet). Der richtige Weg, um die Login-Funktionalität zu ändern, ist über einen Haken. Um Ihre Frage jedoch direkter zu beantworten, würde ich Ihren Code als solchen modifizieren (das meiste davon stammt aus liferays login.jsp).

0

Ich stimme zu, gehen Sie mit dem Login-Hook oder mit Authentifizierungspipeline mit Pre-und Post-Login-Filter. Die Umleitung kann über Filter erfolgen.