try {
Client currentClient;
IConnection current = Red5.getConnectionLocal();
User o = null;
currentClient = sessionManager.getClientByStreamId(current
.getClient().getId(), null);
o = userManager.loginUserByRemoteHash(SID, remoteHashId);
if (o == null)
return null;
if (o.getOrganisation_users().isEmpty()) {
throw new Exception("Users has no organization assigned");
}
o.setSessionData(sessiondataDao.getSessionByHash(remoteHashId));
currentClient.setUser_id(o.getUser_id());
SessionVariablesUtil.setUserId(current.getClient(), o.getUser_id());
if (currentClient.getUser_id() != null
&& currentClient.getUser_id() > 0) {
currentClient.setFirstname(o.getFirstname());
currentClient.setLastname(o.getLastname());
scopeApplicationAdapter.syncMessageToCurrentScope("roomConnect", currentClient, false);
}