コード例 #1
0
ファイル: ServiceExtensions.cs プロジェクト: Mozlite/Gentings
        /// <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;
                    }
                }
            }));
        }
コード例 #2
0
 /// <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");
         });
     });
 }