Я использую Azure AD для службы аутентификации в приложении MVC. Я успешно управляю учетными записями пользователей с помощью Graph API. Я пытаюсь добавить пользователя AppRoleAssignment
.Azure AD Добавить AppRoleAssignment
string tenantID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid").Value;
string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
Uri servicePointUri = new Uri(graphResourceID);
Uri serviceRoot = new Uri(servicePointUri, tenantID);
ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(serviceRoot, async() => await GetTokenForApplication());
IUser user = new User();
user.JobTitle = "Tester";
user.DisplayName = "Test Tester";
user.Surname = "Tester";
user.GivenName = "Test";
user.UserPrincipalName = "[email protected]";
user.AccountEnabled = true;
user.MailNickname = "ttester";
user.PasswordProfile = new PasswordProfile
{
Password = "XXXXX",
ForceChangePasswordNextLogin = true
};
await activeDirectoryClient.Users.AddUserAsync(user);
var appRoleAssignment = new AppRoleAssignment
{
Id = Guid.Parse("XXXXX"),
ResourceId = Guid.Parse("XXXXX"),
PrincipalType = "User",
PrincipalId = Guid.Parse(user.ObjectId)
};
user.AppRoleAssignments.Add(appRoleAssignment);
await user.UpdateAsync();
AppRoleAssignment
никогда не производилось. Я не уверен, что это переменная-конструктор.
id
Я размещаю ID
роли, созданной в манифесте приложения. ResourceId
Я размещаю ObjectId
приложения. Приложение создается в AAD Directory.
Код фактически завершается без ошибок, однако при осмотре пользователя он показывает не AppRoleAssignments
.
В конце концов я пытаюсь реализовать RBAC, используя роли приложения.
Любая помощь очень ценится.
Я собираюсь попробовать это из. Любопытно, когда вы получаете свой объект «Пользователь», это свойство «AppRoles», заполненное. Я нашел в своем коде, он фактически присваивает его AppRole. Однако свойство даже при последующем поиске по-прежнему равно нулю. –