public WebService(int port, ICredentialValidator credentialsValidator, RestApiConfiguration restApiConfig) { _port = port; _credentialsValidator = credentialsValidator; _restApi = new RestApi(restApiConfig); Logging = Logger.Instance as ILogging; }
public static void ThrowIfInvalid(this ICredentialValidator v, Credential c) { if (!v.isValid(c)) { throw new UnauthorizedAccessException("the credentials are not valid"); } }
private static LoginViewModel CreateSut( IHudUtility hudUtility = null, IAlertUtility alertUtility = null, ICredentialStorage credentialStorage = null, ICredentialValidator credentialValidator = null, IBackgroundSyncUtility backgroundSync = null ) { if (credentialValidator == null) { credentialValidator = Substitute.For <ICredentialValidator>(); credentialValidator.ValidateAsync(Arg.Any <Credentials>()) .Returns(Task.FromResult(Result.Success)); } if (credentialStorage == null) { credentialStorage = Substitute.For <ICredentialStorage>(); credentialStorage.SaveCredentialsAsync(Arg.Any <Credentials>()) .Returns(Task.FromResult(Result.Success)); } return(new LoginViewModel( credentialValidator, credentialStorage, hudUtility ?? Substitute.For <IHudUtility>(), alertUtility ?? Substitute.For <IAlertUtility>(), backgroundSync ?? Substitute.For <IBackgroundSyncUtility>() )); }
public DocumentController(IDmsTransactionalUnitOfWork unitOfWork) { this.unitOfWork = unitOfWork; documentOperations = new DocumentOperations(unitOfWork); documentTransactions = new DocumentTransactions(unitOfWork); this.credentialValidator = CredentialValidationFactory.CreateDefaultInstance(); }
public AuthenticationService( IEntitiesContext entities, IAppConfiguration config, IDiagnosticsService diagnostics, IAuditingService auditing, IEnumerable <Authenticator> providers, ICredentialBuilder credentialBuilder, ICredentialValidator credentialValidator, IDateTimeProvider dateTimeProvider, ILdapService ldapService) { if (entities == null) { throw new ArgumentNullException(nameof(entities)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } if (diagnostics == null) { throw new ArgumentNullException(nameof(diagnostics)); } if (auditing == null) { throw new ArgumentNullException(nameof(auditing)); } if (providers == null) { throw new ArgumentNullException(nameof(providers)); } if (credentialBuilder == null) { throw new ArgumentNullException(nameof(credentialBuilder)); } if (credentialValidator == null) { throw new ArgumentNullException(nameof(credentialValidator)); } if (dateTimeProvider == null) { throw new ArgumentNullException(nameof(dateTimeProvider)); } InitCredentialFormatters(); Entities = entities; _config = config; Auditing = auditing; _trace = diagnostics.SafeGetSource("AuthenticationService"); Authenticators = providers.ToDictionary(p => p.Name, StringComparer.OrdinalIgnoreCase); _credentialBuilder = credentialBuilder; _credentialValidator = credentialValidator; _dateTimeProvider = dateTimeProvider; this.Ldap = ldapService; }
public AuthenticationService( IEntitiesContext entities, IAppConfiguration config, IDiagnosticsService diagnostics, AuditingService auditing, IEnumerable<Authenticator> providers, ICredentialBuilder credentialBuilder, ICredentialValidator credentialValidator, IDateTimeProvider dateTimeProvider) { if (entities == null) { throw new ArgumentNullException(nameof(entities)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } if (diagnostics == null) { throw new ArgumentNullException(nameof(diagnostics)); } if (auditing == null) { throw new ArgumentNullException(nameof(auditing)); } if (providers == null) { throw new ArgumentNullException(nameof(providers)); } if (credentialBuilder == null) { throw new ArgumentNullException(nameof(credentialBuilder)); } if (credentialValidator == null) { throw new ArgumentNullException(nameof(credentialValidator)); } if (dateTimeProvider == null) { throw new ArgumentNullException(nameof(dateTimeProvider)); } InitCredentialFormatters(); Entities = entities; _config = config; Auditing = auditing; _trace = diagnostics.SafeGetSource("AuthenticationService"); Authenticators = providers.ToDictionary(p => p.Name, StringComparer.OrdinalIgnoreCase); _credentialBuilder = credentialBuilder; _credentialValidator = credentialValidator; _dateTimeProvider = dateTimeProvider; }
public ApiAuthenticationHandler( ICredentialValidator credentialValidator, IUserRepository userRepository, IOptionsMonitor <AuthenticationSchemeOptions> options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) : base(options, logger, encoder, clock) { _credentialValidator = credentialValidator; _userRepository = userRepository; }
public UserService(IUserRepository userRepository, IEncrypterService encrypterService, IJwtHandler jwtHandler, IMapper mapper, ILogger <UserService> logger, IMemoryCache cache, ICredentialValidator credentialValidator) { _userRepository = userRepository; _encrypterService = encrypterService; _jwtHandler = jwtHandler; _mapper = mapper; _logger = logger; _cache = cache; _credentialValidator = credentialValidator; }
public LoginViewModel( ICredentialValidator credentialValidator, ICredentialStorage credentialStorage, IHudUtility hud, IAlertUtility alerts, IBackgroundSyncUtility backgroundSync ) { _credentialValidator = credentialValidator; _credentialStorage = credentialStorage; _hud = hud; _alerts = alerts; _backgroundSync = backgroundSync; }
public AuthenticationService( IEntitiesContext entities, IAppConfiguration config, IDiagnosticsService diagnostics, IAuditingService auditing, IEnumerable <Authenticator> providers, ICredentialBuilder credentialBuilder, ICredentialValidator credentialValidator, IDateTimeProvider dateTimeProvider, ITelemetryService telemetryService) { InitCredentialFormatters(); Entities = entities ?? throw new ArgumentNullException(nameof(entities)); _config = config ?? throw new ArgumentNullException(nameof(config)); _trace = diagnostics?.SafeGetSource("AuthenticationService") ?? throw new ArgumentNullException(nameof(diagnostics)); Auditing = auditing ?? throw new ArgumentNullException(nameof(auditing));; Authenticators = providers?.ToDictionary(p => p.Name, StringComparer.OrdinalIgnoreCase) ?? throw new ArgumentNullException(nameof(providers)); _credentialBuilder = credentialBuilder ?? throw new ArgumentNullException(nameof(credentialBuilder)); _credentialValidator = credentialValidator ?? throw new ArgumentNullException(nameof(credentialValidator)); _dateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider)); _telemetryService = telemetryService ?? throw new ArgumentNullException(nameof(telemetryService)); }
public SqlCredentialValidatorIntegrationTests() { _sqlCredentialValidatorSettings = new SqlCredentialValidatorSettings { ConnectionString = ConfigurationManager.ConnectionStrings["TestDatabase"].ConnectionString, QueryTimeout = TimeSpan.Parse(ConfigurationManager.AppSettings["QueryTimeout"]) }; _hashingProvider = new Sha256HashingProvider(); _sqlCredentialValidator = new SqlCredentialValidator(_sqlCredentialValidatorSettings, _hashingProvider); _sqlUserRepositorySettings = new SqlUserRepositorySettings { ConnectionString = ConfigurationManager.ConnectionStrings["TestDatabase"].ConnectionString, QueryTimeout = TimeSpan.Parse(ConfigurationManager.AppSettings["QueryTimeout"]) }; _userRepository = new SqlUserRepository(_sqlUserRepositorySettings); }
private ActionResult ValidateCredential(HttpContextBase httpContext, CredentialPrincipal principal, ICredentialValidator validator) { //获取凭证提供者服务 var credentialProvider = this.CredentialProvider; if(credentialProvider == null) throw new MissingMemberException(this.GetType().FullName, "CredentialProvider"); //如果指定的主体为空,或对应的凭证编号不存在,或对应的凭证已过期则返回未验证结果 if(principal == null || principal.Identity == null || !credentialProvider.Validate(principal.Identity.CredentialId)) return new HttpUnauthorizedResult(); //使用凭证验证器对指定的凭证进行验证,如果验证失败 if(validator != null && !validator.Validate(principal.Identity.Credential)) { //如果当前请求的路径是主页,并且是从登录页面跳转而来的返回特定的结果 if(httpContext.Request.Path == "/" && httpContext.Request.UrlReferrer != null && string.Equals(httpContext.Request.UrlReferrer.LocalPath, AuthenticationUtility.GetLoginUrl(), StringComparison.OrdinalIgnoreCase)) return new HttpStatusCodeResult(444, "Invalid Credential"); return new HttpStatusCodeResult(System.Net.HttpStatusCode.Forbidden); } //返回空,表示成功 return null; }
public BasicAuthorizationProvider(string realm, ICredentialValidator credentialValidator) { _realm = realm; _credentialValidator = credentialValidator; }
internal static AuthorizationMode GetAuthorizationMode(ActionDescriptor actionDescriptor, System.Web.Routing.RequestContext requestContext, out string schemaId, out string actionId, out ICredentialValidator validator) { schemaId = null; actionId = null; validator = null; //查找位于Action方法的授权标记 var attribute = (AuthorizationAttribute)actionDescriptor.GetCustomAttributes(typeof(Zongsoft.Security.Membership.AuthorizationAttribute), true).FirstOrDefault(); if(attribute == null) { //查找位于Controller类的授权标记 attribute = (AuthorizationAttribute)actionDescriptor.ControllerDescriptor.GetCustomAttributes(typeof(Zongsoft.Security.Membership.AuthorizationAttribute), true).FirstOrDefault(); if(attribute == null) return AuthorizationMode.Disabled; validator = attribute.Validator; if(attribute.Mode == AuthorizationMode.Required) { schemaId = string.IsNullOrWhiteSpace(attribute.SchemaId) ? GetSchemaId(actionDescriptor.ControllerDescriptor.ControllerName, requestContext.RouteData.Values["area"] as string) : attribute.SchemaId; actionId = actionDescriptor.ActionName; } return attribute.Mode; } validator = attribute.Validator; if(attribute.Mode != AuthorizationMode.Required) return attribute.Mode; schemaId = attribute.SchemaId; actionId = string.IsNullOrWhiteSpace(attribute.ActionId) ? actionDescriptor.ActionName : attribute.ActionId; if(string.IsNullOrWhiteSpace(schemaId)) { var controllerAttribute = (AuthorizationAttribute)Attribute.GetCustomAttribute(actionDescriptor.ControllerDescriptor.ControllerType, typeof(Zongsoft.Security.Membership.AuthorizationAttribute), true); if(controllerAttribute == null || string.IsNullOrWhiteSpace(controllerAttribute.SchemaId)) schemaId = GetSchemaId(actionDescriptor.ControllerDescriptor.ControllerName, requestContext.RouteData.Values["area"] as string); else schemaId = controllerAttribute.SchemaId; } return attribute.Mode; }
public CustomerOrderController(INorthWindTransactionalUnitOfWork unitOfWork) { this.unitOfWork = unitOfWork; orderOperations = new OrderOperations(unitOfWork); this.credentialValidator = CredentialValidationFactory.CreateDefaultInstance(); }