Example #1
0
        public virtual async Task <JsonResult> SwitchToLinkedAccount(SwitchToLinkedAccountModel model)
        {
            if (!await _userLinkManager.AreUsersLinked(AbpSession.ToUserIdentifier(), model.ToUserIdentifier()))
            {
                throw new ApplicationException(L("This account is not linked to your account"));
            }

            var result = await SaveAccountSwitchTokenAndGetTargetUrl(model.TargetTenantId, model.TargetUserId);

            _authenticationManager.SignOutAll();
            return(result);
        }
Example #2
0
        public virtual async Task <JsonResult> SwitchToLinkedAccount(SwitchToLinkedAccountModel model)
        {
            CheckModelState();

            using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.MayHaveTenant))
            {
                if (!await _userLinkManager.AreUsersLinked(AbpSession.GetUserId(), model.TargetUserId))
                {
                    throw new ApplicationException(L("This account is not linked to your account"));
                }

                var targetUser = await _userManager.FindByIdAsync(model.TargetUserId);

                var targetTenantId = targetUser.TenantId;

                var result = await SaveAccountSwitchTokenAndGetTargetUrl(targetTenantId, model.TargetUserId);

                AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                return(result);
            }
        }