【发布时间】:2016-09-13 23:20:25
【问题描述】:
我正在尝试在 ASP.Net MVC 中创建一个页面来重置当前用户的密码。我正在使用 Azure 活动目录进行用户身份验证。要访问用户的 AD 信息,我使用的是 C# Graph API 客户端。我的代码基于GitHub
上的示例我可以更改用户的信息(例如城市、州、电子邮件)。但是,当我尝试使用用户对象上的 PasswordProfile 属性更改密码时,我收到一条错误消息,提示我权限不足。我正在尝试将密码更改为应用程序,并且我认为权限问题的根源在于应用程序。
我发现以下 PowerShell 脚本应该将公司管理员角色添加到应用程序。但是,对 Get-MsolServicePrincipal 的调用不会返回任何内容。查看命令的输出,我看不到任何与我的应用程序名称相似的条目。
#-----------------------------------------------------------
# This will prompt you for your tenant's credential
# You should be able to use your your Azure AD administrative user name
# (in the admin@tenant.onmicrosoft.com format)
#-----------------------------------------------------------
import-module MSOnline
Connect-MsolService
#-----------------------------------------------------------
# Replace the Application Name with the name of your
# Application Service Principal
#-----------------------------------------------------------
$displayName = "My Azure AD Application"
$objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId
#-----------------------------------------------------------
# This will add your Application Service Prinicpal to
# the Company Administrator role
#-----------------------------------------------------------
$roleName = "Company Administrator"
Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
我想我的第一个问题是我是否正确地认为权限问题与应用程序有关?
其次,我应该将 $displayName 变量设置为什么值?
【问题讨论】:
标签: c# azure permissions azure-active-directory