我试图在asp.net core 2.0应用程序中同时使用本地用户帐户和Azure活动目录。
它们两个都可以单独工作(仅激活它们之一),但是当我激活它们两个时,天蓝色的活动目录身份验证不起作用。
失败的案例:
从azure网站上的身份验证返回到我的Web应用程序后,我的Web应用程序IconContainer
为User.Identity.IsAuthenticated
。
步骤:
False
public IActionResult LoginWithOpenId(string returnUrl)
{
return Challenge("myAzureAD");
}
仍然为假。代码如下:
Startup.cs
IsAuthenticated
AccountController
services
.AddDbContext<ApplicationDataContext>(options =>
{
options.UseInMemoryDatabase("testdb");
});
services
.AddIdentity<IdentityUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDataContext>();
services
.AddAuthentication()
.AddOpenIdConnect("myAzureAD", options =>
{
options.ClientId = "xxx";
options.Authority = "https://login.microsoftonline.com/xxx";
options.CallbackPath = "/signin-oidc";
options.RequireHttpsMetadata = false;
})
.AddCookie();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseAuthentication();
}