2016-10-13 132 views
1

目前正致力於將舊的內部公司站點部署到Azure AD,最後的障礙是用AAD取代LDAP集成(爲此使用ActiveDirectoryClient類)。AAD缺乏權限

下面的代碼在將要取代舊的新網站,但在舊網站的失敗:

ActiveDirectoryClient adClient = General.GetADClient(); 
User currentUser = adClient.Users.Where(u => u.UserPrincipalName == Page.User.Identity.Name).ExecuteSingleAsync().Result as User; 

...產生以下錯誤:

{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}} 

據我所知,這兩個網絡應用程序都具有幾乎相同的設置。 AAD應用程序註冊中顯示的應用程序也類似。

所以我的問題具體是:有沒有人知道我可能在這裏失蹤?

回答

0

帖子中的代碼使用Azure AD Graph REST過濾Azure AD用戶集合。要查詢使用集合,如果您使用委託權限,我們可以將Users.ReadBasic.All權限授予應用程序。

爲了縮小這個問題,我們還可以使用Fiddler來跟蹤請求,然後解析令牌here以查看是否有足夠的權限。有關Azure AD Graph許可和範圍的更多詳細信息,請參閱here

如果仍然存在問題,請將有效載荷數據發佈到令牌中。