Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
toggle
yaragad from Spain
Dynamic roles to users when login?
19 de mayo de 2011 1:32
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

Is there any way to give dinamic roles when a user is logged?

For example: A user logged from different places.
Corné Aussems
RE: Dinamic roles to users when login?
13 de mayo de 2011 13:14
Respuesta

Corné Aussems

Ranking: Liferay Legend

Mensajes: 1183

Fecha de incorporación: 3 de octubre de 2006

Mensajes recientes

I do not completely understand the concept of different places but:
You may create a hook on pre or post login action;

1
2    #
3    # Login event
4    #
5    login.events.pre=com.liferay.portal.events.LoginPreAction
6    login.events.post=com.liferay.portal.events.ChannelLoginPostAction,com.liferay.portal.events.DefaultLandingPageAction,com.liferay.portal.events.LoginPostAction


on succesfull login remove all roles and add the necessary Role(s) with RoleLocalServiceImpl
yaragad from Spain
RE: Dinamic roles to users when login?
16 de mayo de 2011 0:17
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

Thanks.
I mean same user connected with different IPs. If she's at office he/she should have some roles. If she's at home, he/she should have some basic roles.
Corné Aussems
RE: Dinamic roles to users when login?
16 de mayo de 2011 0:27
Respuesta

Corné Aussems

Ranking: Liferay Legend

Mensajes: 1183

Fecha de incorporación: 3 de octubre de 2006

Mensajes recientes

Well with the postLogin action you'll have the servlet request so you can find out ip address an act accordingly
1
2
3public class LoginPostAction extends Action {
4
5    public void run(HttpServletRequest request, HttpServletResponse response)
6        throws ActionException {
yaragad from Spain
RE: Dinamic roles to users when login?
16 de mayo de 2011 9:04
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

Thanks a lot!
Now I only have to learn about Hooks world, and try it. I'll tell soon.
Corné Aussems
RE: Dinamic roles to users when login?
16 de mayo de 2011 13:24
Respuesta

Corné Aussems

Ranking: Liferay Legend

Mensajes: 1183

Fecha de incorporación: 3 de octubre de 2006

Mensajes recientes

I advise you to take a look at the Liferay IDE and create a Hook project;

Liferay IDE Wiki's
Liferay IDE Webinar
yaragad from Spain
RE: Dinamic roles to users when login?
17 de mayo de 2011 5:05
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

Nice! Hooks are very handy!!

However, I cannot find the way to set the user's roles. I got user, IP and roles... but there is no User method to do it or if this is the way.

 1
 2public void run(HttpServletRequest req, HttpServletResponse res) {
 3        String IP = req.getRemoteAddr();
 4        boolean isFromIntranet = (IP.startsWith("127")||IP.startsWith("192"))?true:false;
 5
 6        // If is Remote User -> Detach all user roles. Assign RemoteUser role.
 7        if (!isFromIntranet) {
 8            System.out.println("You are logged as Remote User ("+IP+")");
 9            try {
10                User user = PortalUtil.getUser(req);
11                List<Role> roles = RoleLocalServiceUtil.getUserRoles(user.getUserId());
12                //What else?
13            } catch (Exception e) {
14                e.printStackTrace();
15            }
16        } else {
17            System.out.println("You are logged from the Intranet.");
18        }
19}   
yaragad from Spain
RE: Dinamic roles to users when login?
17 de mayo de 2011 8:45
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

Maybe I can use RoleUtil.removeUser but... is this temporary or permanent?

I want to give them temp roles.
Corné Aussems
RE: Dinamic roles to users when login?
18 de mayo de 2011 8:32
Respuesta

Corné Aussems

Ranking: Liferay Legend

Mensajes: 1183

Fecha de incorporación: 3 de octubre de 2006

Mensajes recientes

This will be permanent removal
yaragad from Spain
RE: Dinamic roles to users when login?
19 de mayo de 2011 1:31
Respuesta

yaragad from Spain

Ranking: Junior Member

Mensajes: 52

Fecha de incorporación: 15 de marzo de 2011

Mensajes recientes

How to assign temporary roles then?
Corné Aussems
RE: Dinamic roles to users when login?
19 de mayo de 2011 1:33
Respuesta

Corné Aussems

Ranking: Liferay Legend

Mensajes: 1183

Fecha de incorporación: 3 de octubre de 2006

Mensajes recientes

There is now concept of temporary role in Liferay;

When login action takes place;
#1 remove all unwanted roles
#2 assign wanted roles