Check If User Already Login in Liferay

Ada beberapa metode / cara untuk mengecek apakah user dalam posisi login (signed in) atau belum di Liferay Portal. Bisa melalui JSP, VM File (Template / Theme), Java, Web Content Template dan Javascript, berikut detail dari masing-masing metode diatas untuk melakukan pengecekan apakah user Liferay Portal sudah login atau belum.

VM File (Template / Theme Code)
[code language=”html”]
#if (!$is_signed_in)
SUDAH LOGIN
#else
BELUM LOGIN
#end[/code]

JSP File (Portlet)
[code language=”html”]
<!– Import Object From Theme –>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects />

<!– Sample –>
<%
String kgScreenName = "";
if (themeDisplay.isSignedIn()) {
kgScreenName = UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)).getScreenName();
}
%>

<div><%=kgScreenName%></div>
[/code]

Java
[code language=”java”]
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
boolean signedIn = themeDisplay.isSignedIn();
[/code]
kemudian kalian bisa manfaatkan variabel signedIn diatas untuk keperluan file jsp di portlet yang kalian punya dengan cara berikut :
[code language=”html”]
<% String signedIn = (String) request.getAttribute("signedIn"); %>
[/code]

Web Content Template
[code language=”html”]
#set ($isSignedIn = $request.get("remote-user"))
#if ($isSignedIn!=”)
#else
#end
[/code]

Javascript
[code language=”javascript”]
$(document).ready(function(){
if((Liferay.ThemeDisplay.isSignedIn())){
alert(‘Sudah Login’);
}
});
[/code]

Semoga bermanfaat 🙂

Leave a Reply