我试图弄清楚如何授权使用Azure Active Directory B2C中的组.我可以通过用户授权,例如:
[Authorize(Users="Bill")]
Run Code Online (Sandbox Code Playgroud)
然而,这不是很有效,我看到很少用例.另一种解决方案是通过角色授权.但是由于某些原因,似乎并没有wowrk.例如,如果我为用户提供"全局管理员"角色,请尝试:
[Authorize(Roles="Global Admin")]
Run Code Online (Sandbox Code Playgroud)
这是行不通的.有没有办法通过群组或角色进行授权?
我有一个与Azure AD B2C连接的Asp.NET MVC应用程序.
在管理员设置中,我创建了一个管理员组:
在我的代码中我想使用 [Authorize(Roles = "Administrator")]
使用常规的Azure Active Directory,它很容易添加(只需3行代码).但对于Azure AD B2C,我找不到任何有用的教程或示例.也许你可以告诉我我需要修改什么.
这是我的Startup.Auth.cs的ConfigureAuth方法
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
// Generate the metadata address using the tenant and policy information
MetadataAddress = String.Format(AadInstance, Tenant, DefaultPolicy),
// These are standard OpenID Connect parameters, with values pulled from web.config
ClientId = ClientId,
RedirectUri = RedirectUri,
PostLogoutRedirectUri = RedirectUri,
// Specify the callbacks for each type of notifications
Notifications = new OpenIdConnectAuthenticationNotifications
{
RedirectToIdentityProvider = …Run Code Online (Sandbox Code Playgroud) 我想向使用 Azure AD B2C 以 Asp.Net Core 编写的 Web API 添加授权。我已经有了身份验证部分,现在我想在我的应用程序中添加“角色”,比如“管理员”,并且可能在未来添加更具体的角色。
我已经看到 Azure AD 添加“应用程序角色”的示例,但找不到任何适用于 AD B2C 的内容。Azure 门户中似乎没有任何内容,文档中也没有任何内容。
是否可以将自定义应用程序角色添加到 Azure AD B2C?
我有需要Azure AD承载身份验证的API.
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
// ...
});
}
Run Code Online (Sandbox Code Playgroud)
然后可以查询Azure AD - 可能使用图谱API - 来确定主叫用户的组信息吗?这里的最终目标是将基于角色的安全性应用于API方法/控制器,如下所示(或类似).
[PrincipalPermission(SecurityAction.Demand, Role = "Admin")]
Run Code Online (Sandbox Code Playgroud)
此外,身份信息如何以及在何处应用于执行线程?
c# azure-acs azure-active-directory bearer-token json-web-token