1、直接修改项目 1.1 改成 2.0
Startup 的修改
- 去除构造函数中下面的代码
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); builder.AddEnvironmentVariables();
Configuration = builder.Build(); - 去除 Configure 方法中下面的代码
loggerFactory.AddSerilog();
loggerFactory.AddConsole(Configuration.GetSection("Logging")); - IConfigurationRoot 改为 IConfiguration
public Startup(IConfiguration configuration)
{
Configuration = configuration;
} public IConfiguration Configuration { get; set; }
2、授权等要修改下
app.UseAuthentication();
//app.UseCookieAuthentication(new CookieAuthenticationOptions
//{
// AuthenticationScheme = "member",
// AutomaticAuthenticate = true, // 是否自动启用验证,如果不启用,则即便客服端传输了Cookie信息,服务端也不会主动解析。
// // 除了明确配置了 [Authorize(ActiveAuthenticationSchemes = "上面的方案名")] 属性的地方,才会解析,此功能一般用在需要在同一应用中启用多种验证方案的时候。比如分Area.
// LoginPath = "/weixin/draw"// 授权页面
//});
services.AddCookieAuthentication(options =>
{
options.CookieHttpOnly = true;
options.CookieName = "xxx";
options.CookieDomain = "xxx";
options.LoginPath = "/account/signin";
options.LogoutPath = "/account/signout";
});
改为
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.Cookie.HttpOnly = true;
options.Cookie.Name = "xxx";
options.Cookie.Domain = "xxx";
options.LoginPath = "/account/signin";
options.LogoutPath = "/account/signout";
});
最后更新下 nutget 包