我正在尝试实现该用户提出的解决方案,以防止在我的应用程序中多次登录。
实际上,我在Startup
类中声明了以下代码,特别是在Configure
方法中:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
});
问题是当我键入:AuthenticationType
时,我什么也没显示,因为CookieAuthenticationOptions
没有这个属性,这很奇怪,因为在文档中该属性也不再存在。
如果我将鼠标悬停在CookieAuthenticationOptions
上,我可以看到这个命名空间:Assembly Microsoft.AspNetCore.Authentication.Cookies
.
PS:我正在使用 ASP.NET 核心
app.UseCookieAuthentication()
在Core 2.X ASP.NET 已弃用,则应改为在Configure
方法中使用app.UseAuthentication()
,但是您需要在ConfigureServices
方法中配置身份验证。
使用 NuGet 包Microsoft.AspNetCore.Mvc
版本 2.1.0 或更高版本时,应按如下所示进行配置:
public void ConfigureServices(IServiceCollection services)
{
// Add the needed services, e.g. services.AddMvc();
services
.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
// Change the options as needed
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseAuthentication();
app.UseMvc();
}
1-双击您的项目
2-<item group>
添加以下行:
<PackageReference Include="Microsoft.AspNetCore.App" />