/// <summary>
        /// Gets the external credentials for the specified domain user
        /// </summary>
        public ExternalCredentialInfoCollection GetExternalCredentials(string domainUserName)
        {
            List <ExternalCredentialInfo> externalCredentials = new List <ExternalCredentialInfo>();

            DatabaseQuery(string.Format(Resources.SelectExternalCredentials, domainUserName), record =>
            {
                ExternalCredentialInfo credential = new ExternalCredentialInfo()
                {
                    UserName = record["UserName"] as string,
                    Password = record["Password"] as string,
                    Provider = (ExternalCredentialType)Enum.Parse(typeof(ExternalCredentialType), (string)record["ExternalCredentialType"])
                };
                externalCredentials.Add(credential);
            });

            return(new ExternalCredentialInfoCollection(externalCredentials));
        }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RoamAndroidAuthenticator"/> class.
        /// </summary>
        /// <param name="pluginExecutionData">The plugin execution data.</param>
        /// <param name="activityData">The plugin activity data.</param>
        /// <param name="controller">The SES controller.</param>
        /// <param name="androidHelper">The android helper.</param>
        public RoamAndroidAuthenticator(PluginExecutionData pluginExecutionData, HpRoamActivityData activityData, SESLib controller, AndroidHelper androidHelper)
        {
            Provider       = activityData.AuthProvider;
            _controller    = controller;
            _androidHelper = androidHelper;

            switch (activityData.AuthProvider)
            {
            case AuthenticationProvider.HpId:
                ExternalCredentialInfo externalCredential = pluginExecutionData.ExternalCredentials.Where(x => x.Provider == ExternalCredentialType.HpId).FirstOrDefault();
                Credential = new AuthenticationCredential(externalCredential.UserName, externalCredential.Password, pluginExecutionData.Credential.Domain);
                break;

            default:
                Credential = new AuthenticationCredential(pluginExecutionData.Credential);
                break;
            }
        }
示例#3
0
        /// <summary>
        /// Initializes the authenticator.
        /// </summary>
        /// <param name="provider">The provider.</param>
        protected virtual void InitializeAuthenticator(AuthenticationProvider provider)
        {
            switch (provider)
            {
            case AuthenticationProvider.HpId:
                ExternalCredentialInfo   externalCredential = ExecutionData.ExternalCredentials.Where(x => x.Provider == ExternalCredentialType.HpId).FirstOrDefault();
                AuthenticationCredential authCredential     = new AuthenticationCredential(externalCredential.UserName, externalCredential.Password, ExecutionData.Credential.Domain);
                Authenticator = AuthenticatorFactory.Create(Device, authCredential, provider);
                break;

            default:
                Authenticator = AuthenticatorFactory.Create(DeviceInfo.AssetId, Device, provider, ExecutionData);
                break;
            }

            if (Authenticator != null)
            {
                Authenticator.WorkflowLogger = _workflowLogger;
            }
        }