示例#1
0
        protected UserInfo TryLogin(AdobeConnectProvider provider, IAdobeConnectAccess credentials, out string sessionToken)
        {
            provider.Logout();
            LoginResult result = provider.Login(new UserCredentials(credentials.Login, credentials.Password));

            if (!result.Success)
            {
                _logger?.Error(
                    $"[UserManager.TryLogin] Login failed. Login={credentials.Login}, Status={result.Status.GetErrorInfo()}");
                sessionToken = null;
                return(null);
            }

            sessionToken = result.Status.SessionInfo;
            _logger?.Info($"[UserManager.TryLogin] Success. Login={credentials.Login}, sessionToken={sessionToken}");

            return(_userGroupPermissionProvider.UserHasGroupPermission(provider, result.User) ? result.User : null);
        }
示例#2
0
        public IAdobeConnectProxy GetProvider(IAdobeConnectAccess credentials, bool login)
        {
            if (credentials == null)
            {
                throw new ArgumentNullException(nameof(credentials));
            }

            var connectionDetails = new ConnectionDetails(credentials.Domain);
            var provider          = new AdobeConnectProvider(connectionDetails);

            if (login)
            {
                var         userCredentials = new UserCredentials(credentials.Login, credentials.Password);
                LoginResult result          = provider.Login(userCredentials);
                if (!result.Success)
                {
                    _logger.Error("AdobeConnectAccountService.GetProvider. Login failed. Status = " + result.Status.GetErrorInfo());
                    throw new InvalidOperationException("Login to Adobe Connect failed. Status = " + result.Status.GetErrorInfo());
                }
            }

            return(new AdobeConnectProxy(provider, _logger, credentials.Domain));
        }