/// <summary> /// 添加SQLServer数据库服务。 /// </summary> /// <param name="builder">服务集合。</param> /// <returns>返回服务集合实例。</returns> public static IServiceBuilder AddSqlServer(this IServiceBuilder builder) { return(builder.AddSqlServer(options => { var section = builder.Configuration.GetSection("Data"); foreach (var current in section.GetChildren()) { switch (current.Key.ToLower()) { case "name": options.ConnectionString = $"Data Source=.;Initial Catalog={current.Value};Integrated Security=True;"; break; case "connectionstring": options.ConnectionString = current.Value; break; case "prefix": options.Prefix = current.Value; break; default: options[current.Key] = current.Value; break; } } })); }
/// <summary> /// 添加服务。 /// </summary> /// <param name="builder">服务构建实例。</param> public void ConfigureServices(IServiceBuilder builder) { builder.AddSettings() .AddScoped(services => services.GetRequiredService <ISettingsManager>().GetSettings <SkinSettings>()) .AddScoped(services => services.GetRequiredService <ISettingsManager>().GetSettings <SiteSettings>()); builder.AddSqlServer() .AddModelUI <User>() //添加用户模型应用 .AddOpenServices <User>() .AddServices(services => { services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddPermissionAuthorization() //添加权限验证 .AddCookie(options => { options.LoginPath = new PathString("/login"); }); services.AddControllers(); services.AddRazorPages(options => { options.AddCultureLocalizationOptions(); options.Conventions.AuthorizeFolder("/admin"); options.Conventions.AuthorizeFolder("/account"); }); }); }