我正在为我的ASP.NET MVC应用程序实现基于角色的授权。我们使用Azure AD,并且我知道在Azure AD中我可以定义应用程序角色(在Application Manifest文件中)。但是,我的要求是为每个角色附加权限。
例如:
角色:管理员,权限:插入,更新,删除,查看
角色:贡献者,权限:插入,查看等
我在App Manifest文件中看不到任何可以将权限与Azure中的应用程序角色相关联的示例。
有人可以告诉我我是否缺少某些东西,或者在Azure AD中是不可能的吗?
这是我的应用清单文件
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"displayName": "Admin",
"id": "d1c2ade8-98f8-45fd-aa4a-6d06b947c66f",
"isEnabled": true,
"description": "Admin Have the ability to do all.",
"value": "Admin"
},
{
"allowedMemberTypes": [
"User"
],
"displayName": "Contributor",
"id": "fcac0bdb-e45d-4cfc-9733-fbea156da358",
"isEnabled": true,
"description": "Contributor only have the ability to view tasks and their statuses.",
"value": "Contributor"
},
答案 0 :(得分:0)
这在Azure AD中不可用。 您只能指定角色, 由您的应用决定由用户根据角色决定什么权限。
答案 1 :(得分:0)
您已按照所显示的那样在App清单中定义角色,这是正确的方法,但是AFAIK Azure AD仅会帮助您定义角色,然后在某种程度上将角色分配给用户/组。
您的应用程序将需要实现一些逻辑,以解密角色应代表的粒度权限。 Azure AD application roles架构可能无法帮助完成此部分。
示例申请 Authorization in a web app using Azure AD application roles & role claims