最近接觸了Azure,感覺Azure的框架還是比較大的。
現在想咨詢一個洗掉AppRoleAssignment的問題。
當我使用下面的代碼查詢出指定的用戶以及用戶的AppRoleAssignment時,想洗掉掉某個AppRoleAssignment,應該如何操作?
client.Users.Where(g => g.UserPrincipalName.Equals(userInfo)).Expand(u => u.AppRoleAssignments).ExecuteAsync()
※通過上面代碼的Expand方法,只能查詢出該用戶中的第一頁的AppRoleAssignment
我現在是使用下面的方法對用戶的AppRoleAssignment進行洗掉。
user.AppRoleAssignments.Remove(targetRole);
user.UpdateAsync().Wait();
如果我想要洗掉的targetRole是在第一頁,是可以正常洗掉。
但是,如果需要洗掉的targetRole不是在第一頁,比如在第二頁或后面的某一頁,應該如何洗掉?
uj5u.com熱心網友回復:
通過Expand方法,獲取到用戶的同時,也可以獲取到用戶的AppRoleAssignment(但只有第一頁)我試過,單獨獲取AppRoleAssignment,這樣可以獲取所有頁的AppRoleAssignment,
然后呢,我將所有頁的AppRoleAssignment放到用戶的AppRoleAssignments屬性中,
user.AppRoleAssignments.Remove(targetRole);可以執行成功,
但是在更新時(執行UpdateAsync方法)會出例外。
uj5u.com熱心網友回復:
從微軟網站中找到一段代碼,如下:graphClient.Groups["{group-id}"].AppRoleAssignments["{appRoleAssignment-id}"]
.Request()
.DeleteAsync();但是,Request方法一直接找不到。
我懷疑是一個擴展方法,但不知道是哪個命名空間下面,或哪個程式集中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/269628.html
標籤:C#
