/// <summary>重新加载</summary> private void Reload() { if (this.restartCount > 0) { KernelContext.Log.Info(string.Format(I18n.Strings["application_is_reloading"], AuthorityConfiguration.ApplicationName)); // 重新加载配置信息 AuthorityConfigurationView.Instance.Reload(); } else { KernelContext.Log.Info(string.Format(I18n.Strings["application_is_loading"], AuthorityConfiguration.ApplicationName)); } this.configuration = AuthorityConfigurationView.Instance.Configuration; // 创建对象构建器(Spring.NET) string springObjectFile = AuthorityConfigurationView.Instance.Configuration.Keys["SpringObjectFile"].Value; SpringObjectBuilder objectBuilder = SpringObjectBuilder.Create(AuthorityConfiguration.ApplicationName, springObjectFile); // 创建数据服务对象 this.m_AuthorityService = objectBuilder.GetObject <IAuthorityService>(typeof(IAuthorityService)); KernelContext.Log.Info(string.Format(I18n.Strings["application_is_successfully_loaded"], AuthorityConfiguration.ApplicationName)); }
/// <summary>构造函数</summary> public AuthorityProvider() { this.configuration = AuthorityConfigurationView.Instance.Configuration; this.ibatisMapping = this.configuration.Keys["IBatisMapping"].Value; this.ibatisMapper = ISqlMapHelper.CreateSqlMapper(this.ibatisMapping, true); }
public void TestInit() { AuthorityConfiguration configuration = AuthorityConfigurationView.Instance.Configuration; Assert.IsNotNull(configuration); Assert.IsNotNull(configuration.Keys["SpringObjectFile"]); Assert.IsNotNull(configuration.Keys["IBatisMapping"]); }
/// <summary>构造函数</summary> public AuthorityService() { this.configuration = AuthorityConfigurationView.Instance.Configuration; // 创建对象构建器(Spring.NET) string springObjectFile = this.configuration.Keys["SpringObjectFile"].Value; SpringObjectBuilder objectBuilder = SpringObjectBuilder.Create(AuthorityConfiguration.ApplicationName, springObjectFile); this.provider = objectBuilder.GetObject <IAuthorityProvider>(typeof(IAuthorityProvider)); }
public void TestCreateMapper() { AuthorityConfiguration configuration = AuthorityConfigurationView.Instance.Configuration; ISqlMapper ibatisMapper = null; string ibatisMapping = configuration.Keys["IBatisMapping"].Value; ibatisMapper = ISqlMapHelper.CreateSqlMapper(ibatisMapping, true); Assert.IsNotNull(ibatisMapper); }
internal static IServiceCollection AddAuthorityConfiguration(this IServiceCollection services, IConfiguration configuration, out AuthorityConfiguration authorityConfiguration) { Log.Information("{method}", nameof(AddAuthorityConfiguration)); authorityConfiguration = configuration.GetSection(nameof(AuthorityConfiguration)).Get <AuthorityConfiguration>(); return(services.AddSingleton(authorityConfiguration)); }
internal static void AddCustomHealthChecks(this IServiceCollection services, WebApiConfiguration webApiConfiguration, AuthorityConfiguration authorityConfiguration, WebApiScopesConfiguration webApiScopesConfiguration, LDAPServerProfiles ldapServerProfiles) { Log.Information("{method}", nameof(AddCustomHealthChecks)); if (!webApiConfiguration.HealthChecksConfiguration.EnableHealthChecks) { return; } IHealthChecksBuilder healthChecksBuilder = services.AddHealthChecks(); if (!webApiScopesConfiguration.BypassApiScopesAuthorization) { healthChecksBuilder = healthChecksBuilder.AddUrlGroup(new Uri(authorityConfiguration.Authority), name: "OAuth/OpenId Server", tags: new string[] { authorityConfiguration.Authority }); } foreach (var lp in ldapServerProfiles) { var portLc = lp.GetPort(false); var portGc = lp.GetPort(true); healthChecksBuilder = healthChecksBuilder.AddTcpHealthCheck(options => { options.AddHost(lp.Server, portLc); }, name: $"Connection: {lp.Server}:{portLc}", tags: new string[] { lp.ProfileId, lp.DefaultDomainName, $"SSL:{lp.UseSSL}" }); healthChecksBuilder = healthChecksBuilder.AddTcpHealthCheck(options => { options.AddHost(lp.Server, portGc); }, name: $"Connection: {lp.Server}:{portGc}", tags: new string[] { lp.ProfileId, lp.DefaultDomainName, $"SSL:{lp.UseSSL}" }); healthChecksBuilder = healthChecksBuilder.AddPingHealthCheck(options => options.AddHost(lp.Server, lp.HealthCheckPingTimeout), $"Ping: {lp.Server}", tags: new string[] { lp.ProfileId, lp.DefaultDomainName, $"SSL:{lp.UseSSL}" }); } services.AddHealthChecksUI(settings => { settings .SetHeaderText(webApiConfiguration.HealthChecksConfiguration.HealthChecksHeaderText) .SetEvaluationTimeInSeconds(webApiConfiguration.HealthChecksConfiguration.EvaluationTime) .MaximumHistoryEntriesPerEndpoint(webApiConfiguration.HealthChecksConfiguration.MaximunHistoryEntries) .AddHealthCheckEndpoint(webApiConfiguration.HealthChecksConfiguration.HealthChecksGroupName, $"{webApiConfiguration.WebApiBaseUrl}/{webApiConfiguration.HealthChecksConfiguration.ApiEndPointName}"); }) .AddInMemoryStorage(); }
internal static IServiceCollection AddAuthorizationWithApiScopePolicies(this IServiceCollection services, WebApiScopesConfiguration webApiScopesConfiguration, AuthorityConfiguration authorityConfiguration) { Log.Information("{method}", nameof(AddAuthorizationWithApiScopePolicies)); if (webApiScopesConfiguration.BypassApiScopesAuthorization) { services.AddSingleton <IPolicyEvaluator, Controllers.PolicyEvaluators.AuthorizationBypassPolicyEvaluator>(); } services.AddAuthorization(options => { options.AddPolicy(WebApiScopesConfiguration.GlobalScopeAuthorizationPolicyName, policy => { policy.Requirements.Add(new ApiScopeRequirement(new string[] { webApiScopesConfiguration.GlobalScopeName }, authorityConfiguration.Authority)); }); }); return(services.AddSingleton <IAuthorizationHandler, ApiScopeRequirementHandler>()); }
internal static IServiceCollection AddAuthenticationWithIdentityServer(this IServiceCollection services, AuthorityConfiguration authorityConfiguration) { Log.Information("{method}", nameof(AddAuthenticationWithIdentityServer)); services.AddAuthentication(co => { co.DefaultScheme = Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerDefaults.AuthenticationScheme; co.DefaultChallengeScheme = Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerDefaults.AuthenticationScheme; }) .AddIdentityServerAuthentication(options => { options.Authority = authorityConfiguration.Authority; options.ApiName = authorityConfiguration.ApiResource; options.RequireHttpsMetadata = authorityConfiguration.RequireHttpsMetadata; }); return(services); }
public void ConfiguredApplication_ReturnsCommandLineApp() { var instance = AuthorityConfiguration.Default().ConfiguredApplication(); Assert.That(instance, Is.TypeOf <CommandLineApplication>()); }
public void Default_ReturnsConfigInstance() { var instance = AuthorityConfiguration.Default(); Assert.That(instance, Is.Not.Null); }