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