Пример #1
0
        public static ISession CreateSession(this IDatabase database, string userName, string password, IsolationLevel isolation)
        {
            if (!database.Authenticate(userName, password))
                throw new InvalidOperationException(String.Format("Unable to create a session for user '{0}': not authenticated.", userName));

            return database.CreateSession(userName, isolation);
        }
Пример #2
0
        public static ISession CreateUserSession(this IDatabase database, string userName, string password)
        {
            var user = database.Authenticate(userName, password);
            if (user == null)
                throw new InvalidOperationException(String.Format("Unable to create a session for user '{0}': not authenticated.", userName));

            return database.CreateUserSession(user);
        }
Пример #3
0
 public static bool CanAuthenticate(this AuthenticationStandard authenticationStandard) {
     object authenticate;
     try {
         authenticate = authenticationStandard.Authenticate(ApplicationHelper.Instance.Application.CreateObjectSpace(SecuritySystem.LogonParameters.GetType()));
     }
     catch (AuthenticationException) {
         return false;
     }
     return authenticate != null;
 }
        public static async Task<IIdentity> AuthenticateAsync(this OwinRequest request, string authenticationType)
        {
            List<IIdentity> identities = new List<IIdentity>();
            await request.Authenticate(new string[] { authenticationType }, (identity, ignore1, ignore2, ignore3) =>
            {
                identities.Add(identity);
            }, null);

            return identities.SingleOrDefault();
        }
        public static string Authorize(this BaseProtocolClient ingoingMailClient, MailServerSettings settings, int waitTimeout = 5000, ILogger log = null)
        {
            if (log == null)
                log = new NullLogger();

            string lastResponse;
            switch (settings.EncryptionType)
            {
                case EncryptionType.SSL:
                    var timeout = TimeSpan.FromMinutes(3); // 3 minutes
                    log.Debug("SSL connecting to {0} (timeout = {1} minutes)", settings.Url, timeout.TotalMinutes);
                    lastResponse = ingoingMailClient.ConnectSsl(settings.Url, settings.Port, (int)timeout.TotalMilliseconds);

                    break;
                default:
                    log.Debug("PLAIN connecting to {0}", settings.Url);
                    lastResponse = ingoingMailClient.ConnectPlain(settings.Url, settings.Port);

                    if (ingoingMailClient is SmtpClient &&
                        (settings.AuthenticationType != SaslMechanism.None ||
                         settings.EncryptionType == EncryptionType.StartTLS))
                    {
                        lastResponse = ingoingMailClient.SendEhloHelo();
                    }

                    if (settings.EncryptionType == EncryptionType.StartTLS)
                    {
                        log.Debug("StartTLS {0}", settings.Url);
                        lastResponse = ingoingMailClient.StartTLS(settings.Url);
                    }

                    break;
            }

            if (settings.AuthenticationType == SaslMechanism.Login)
            {
                log.Debug("Login as {0} with secret password", settings.AccountName);
                lastResponse = ingoingMailClient.Login(settings.AccountName, settings.AccountPass);
            }
            else
            {
                if (ingoingMailClient is SmtpClient && settings.AuthenticationType == SaslMechanism.None)
                {
                    log.Debug("Authentication not required");
                    return lastResponse;
                }

                log.Debug("Authenticate as {0} with secret password", settings.AccountName);
                lastResponse = ingoingMailClient.Authenticate(settings.AccountName, settings.AccountPass, settings.AuthenticationType);

            }

            return lastResponse;
        }
Пример #6
0
 public static async Task<ClaimsIdentity> GetExternalIdentity(this HttpContext context)
 {
     return await context.Authenticate(Microsoft.Owin.Security.Forms.FormsAuthenticationDefaults.ExternalAuthenticationType);
 }
Пример #7
0
 /// <summary></summary>
 /// <param name="context"></param>
 /// <param name="authenticationType"></param>
 /// <returns></returns>
 public static Task<ClaimsIdentity> GetExternalIdentity(this HttpContext context)
 {
     return context.Authenticate("External");
 }