使用 Azure AD 的 Asp.net core mvc 基于角色的授权

Posted

技术标签:

【中文标题】使用 Azure AD 的 Asp.net core mvc 基于角色的授权【英文标题】:Asp.net core mvc role-based authorization with Azure AD 【发布时间】:2020-10-19 01:09:28 【问题描述】:

所以,我有带有 Azure AD 的 Asp.net 核心 MVC 应用程序,它允许人们使用他们的 microsoft acc 唱歌,然后给我他们的姓名和电子邮件。我有这个授权,它基于一个在索引页面上添加用户的静态类,它非常愚蠢,所以我想切换到基于角色的授权。我的问题是我找不到有关如何操作的任何信息。有什么类型的教程吗?我对授权很陌生,所以我真的不知道这些东西是如何工作的,但我无法找到一些来源......感谢您的帮助。

编辑:我希望用户使用他的 microsoft acc 唱歌,然后获取他的名字,查看 db,然后为他添加角色。

【问题讨论】:

您好,如果您正在寻找基于角色的授权,您需要处理 Azure AD 中的角色,请查看以下答案。如果您正在寻找仅使用 Microsoft 帐户登录授权并使用本地数据库验证用户并根据信息为用户分配角色,那么您需要使用 Azure AD B2C。 【参考方案1】:

请查看sample,它可以帮助您使用应用角色和角色声明向使用 Microsoft 身份平台登录用户的 ASP.NET Core Web 应用添加授权。

【讨论】:

是否有直接的方式从 Azure 门户界面管理角色?我想通过简单的点击来管理我的应用程序的角色,而不是手动编写配置文件。 Azure AD 界面有大量的组和角色设置和选项卡,但在 ASP.NET Core Web 应用程序中使用它仍然没有简单的方法。我记得,就像一年前一样,我看到了一种将 Azure AD 组用作角色的方法,但它仍然使用预览功能,并且从门户配置并不简单,只需在控制器中使用 [Authorize(Roles="MyGroupNameFromAD")]。有什么东西以这种方式变得简单吗?

以上是关于使用 Azure AD 的 Asp.net core mvc 基于角色的授权的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 5:Azure Web 应用 CORS 在延迟后停止工作

Azure AD 与 ASP.NET Core MVC 中的标识

使用 Azure AD 的 Asp.net core mvc 基于角色的授权

如何在 ASP.NET Core 3 上同时使用 Azure AD 身份验证和身份?

ASP.NET Core 3.1 Azure AD 身份验证引发 OptionsValidationException

使用 JWT 令牌保护 asp.net 核心 Web api 时如何从 Azure AD 获取用户