Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
Rupesh Chotai
How to know if user is signed-in from web content display
22 de septiembre de 2011 11:57
Respuesta

Rupesh Chotai

Ranking: Regular Member

Mensajes: 163

Fecha de incorporación: 23 de marzo de 2011

Mensajes recientes

Hi All,
I want to toggle one link in web content display based on if user is signed-in or not. Is there a way I can check in web content display if user is signed-in?

Thanks for the reply.
Jelmer Kuperus
RE: How to know if user is signed-in from web content display
22 de septiembre de 2011 13:01
Respuesta

Jelmer Kuperus

Ranking: Liferay Legend

Mensajes: 1192

Fecha de incorporación: 10 de marzo de 2010

Mensajes recientes

This may help

http://www.liferay.com/community/forums/-/message_boards/message/4658719
Hiran Chaudhuri
RE: How to know if user is signed-in from web content display
22 de septiembre de 2011 13:06
Respuesta

Hiran Chaudhuri

Ranking: Regular Member

Mensajes: 188

Fecha de incorporación: 1 de septiembre de 2010

Mensajes recientes

Rupesh Chotai:
Hi All,
I want to toggle one link in web content display based on if user is signed-in or not. Is there a way I can check in web content display if user is signed-in?

Thanks for the reply.

You could check for the role "user" or "community member" vs. "guest".
As the web content display would be static and not respond to such dynamic behaviour, you could create two web content displays - one for the guest and one for the other users.
Somewhere (probably look&feel) you can configure that the non-authorized user would not even see the message "not authorized", so everybody would see only one web content.
Rupesh Chotai
RE: How to know if user is signed-in from web content display
22 de septiembre de 2011 13:13
Respuesta

Rupesh Chotai

Ranking: Regular Member

Mensajes: 163

Fecha de incorporación: 23 de marzo de 2011

Mensajes recientes

Hi Jelmer,
Thanks for the reply.
However the post you mentioned is other way round i.e. checking in velocity template if user is signed in or not.
I am looking for the check - if user is signed in or not, in web content display.


Hi Hiran,
Thanks for the reply.
I dont want to hide the whole web content display rather want to hide link in that. And just for one link, I dont think its good practice to create two separate web content display.
Jelmer Kuperus
RE: How to know if user is signed-in from web content display
22 de septiembre de 2011 13:32
Respuesta

Jelmer Kuperus

Ranking: Liferay Legend

Mensajes: 1192

Fecha de incorporación: 10 de marzo de 2010

Mensajes recientes

I am not sure if i understand you then

structure + template = webcontent

The only way to do anything dynamic in webcontent is by using (velocity / xsl) templates. The post i linked explains how to check if you are logged in in a velocity template used to construct webcontent
Rupesh Chotai
RE: How to know if user is signed-in from web content display
23 de septiembre de 2011 6:14
Respuesta

Rupesh Chotai

Ranking: Regular Member

Mensajes: 163

Fecha de incorporación: 23 de marzo de 2011

Mensajes recientes

Hi Jelmer,
Thanks for reply.
I will explain bit more about my question:

I am using liferay web content display portlet. Added using dockbar on the page. After clicking Edit web content link for that web content, I have added some links on the web content. Now I am writing javascript function in that which should check if user is signed-in or not to toggle on of the image. However, I couldnt find yet how to retrieve user details in that javascript function.

Please let me know if you need more details around it.
Again, thanks for helping me out.
Nisarg Parikh
RE: How to know if user is signed-in from web content display
23 de septiembre de 2011 6:24
Respuesta

Nisarg Parikh

Ranking: Expert

Mensajes: 262

Fecha de incorporación: 30 de diciembre de 2009

Mensajes recientes

Hi Rupesh,

I guess that javascript in/for web content will not work.
You have to write your own structure and template and in template you can check weather user is logged in or not using velocity variables.

Hope that might help you.

-Nisarg
Rupesh Chotai
RE: How to know if user is signed-in from web content display
23 de septiembre de 2011 7:44
Respuesta

Rupesh Chotai

Ranking: Regular Member

Mensajes: 163

Fecha de incorporación: 23 de marzo de 2011

Mensajes recientes

Thanks Nisarg for the reply.
Can you suggest wiki/documentation explaining how to create structure & template using web content display.

Appreciated your help.
Nisarg Parikh
RE: How to know if user is signed-in from web content display
23 de septiembre de 2011 8:00
Respuesta

Nisarg Parikh

Ranking: Expert

Mensajes: 262

Fecha de incorporación: 30 de diciembre de 2009

Mensajes recientes

Hi Rupesh,

You can refer below link

http://docs.liferay.com/portal/6.0/official/liferay-administrator-guide-6.0.pdf

there is section 4 for WCM..

Hope this helps.

-Nisarg
Rupesh Chotai
RE: How to know if user is signed-in from web content display
26 de septiembre de 2011 7:21
Respuesta

Rupesh Chotai

Ranking: Regular Member

Mensajes: 163

Fecha de incorporación: 23 de marzo de 2011

Mensajes recientes

Thanks Nisarg for the details.
Victor Zorin
RE: How to know if user is signed-in from web content display
8 de febrero de 2012 15:47
Respuesta

Victor Zorin

Ranking: Liferay Legend

Mensajes: 1178

Fecha de incorporación: 14 de abril de 2008

Mensajes recientes

We just had a similar requirement for Liferay6.
A simplified way of detecting whether the user is logged in from within the web content and doing certain action without engaging Velocity Templates mechanism is below.
Stick the following javascript at the bottom of the web content article located on a page where you want to have this action.
This particular script will redirect the user to another page in 3 seconds if user is signed in.
 1
 2<script type="text/javascript">
 3(function($) {
 4  $(document).ready(function() {
 5    if(document.cookie.indexOf("COMPANY_ID") != -1) { setTimeout("redirectToProject()", 3000); }
 6  });
 7})(jQuery);
 8
 9function redirectToProject()
10{
11document.location.href = "/group/integration-project";
12}
13</script>

It assumes that you have jQuery, modify script if you do not use it. Cookie such as COMPANY_ID is set by the portal for any signed in user.
Why 3 seconds delay? In case you want to modify the page while you are signed in. It will give enough time to click on X button to stop javascript running.


In case when in your version of portal COMPANY_ID cookie is not being set, you can use run-time detection of some content on the page, e.g. if Sign In portlet (portlet_58) displays the message "You are signed in as...";
 1<script type="text/javascript">
 2    $(document).ready(function() {
 3window.alert('looking for signin portlet');
 4var signinPortlet = document.getElementById("portlet_58");
 5if(signinPortlet != null)
 6{
 7if(signinPortlet.innerHTML.indexOf("You are signed in as") > 0)
 8{
 9 setTimeout("redirectToProject()", 3000);
10}
11} else
12{
13window.alert('sign-in portlet not found');
14}
15});
16
17function redirectToProject()
18{
19window.alert("redirecting...");
20document.location.href = "/group/integration-project";
21}
22</script>
Vincent Le Borgne
RE: How to know if user is signed-in from web content display
30 de agosto de 2013 4:53
Respuesta

Vincent Le Borgne

Ranking: New Member

Mensajes: 1

Fecha de incorporación: 6 de agosto de 2013

Mensajes recientes

Hi,

I use Liferay javascript API to do this.

1
2<script type="text/javascript" charset="utf-8">
3  $(document).ready(function(){
4       if(Liferay.ThemeDisplay.isSignedIn()){
5
6      }
7  });
8</script>
Richard Lee
RE: How to know if user is signed-in from web content display
27 de marzo de 2014 20:09
Respuesta

Richard Lee

Ranking: Junior Member

Mensajes: 28

Fecha de incorporación: 18 de enero de 2011

Mensajes recientes

From my testing Liferay.ThemeDisplay.isSignedIn() only provides status at the time of the page load - i.e. it doesnt get updated by the portal automatically