是否可以同时使用Azure AD和核心身份角色?基本上用户将登录到使用AD的应用程序,我已经这样做了。但是当他们使用应用程序时,他们的角色将基于aspnettroles和AspNetUsersRoles表。我认为我必须使用claimprincipal工厂来扩展用户登录时创建的索赔对象。
. NET身份可以在数据库中本地管理用户,并将Azure AD用户作为外部身份提供者,使AAD帐户能够登录到应用程序中。您可以识别用户并将其链接到本地数据库中的用户。然后,您还可以使用本地用户和Azure AD用户管理角色。
点击这里阅读更多。
-
创建一个带有个人用户帐户的新应用程序。
-
安装此包:Microsoft.AspNetCore.Authentication.AzureAD.UI
-
services.AddDbContext(options => options.UseSqlServer(
-
Configuration.GetConnectionString("DefaultConnection"))); services.AddDefaultIdentity() .AddEntityFrameworkStores();
services.AddAuthentication(sharedOptions => }).AddAzureAD(options =>
Configuration.Bind("AzureAd", options)).AddCookie();
-
Update
appsettings.json "AzureAd": { "Instance": "https://login.microsoftonline.com/",
-
"Domain": "xxx.onmicrosoft.com", "TenantId": "xxxxxx-xxxxx-4f08-b544-b1eb456f228d",
-
"ClientId": "xxxxx-xxxxx-4717-9821-e4f718fbece4", "CallbackPath": "/signin-oidc",
-
"CookieSchemeName": "Identity.External" },
取决于用户选择使用本地认证登录还是Azure AD认证。