我有一個ASP.NET頁面託管在外部Web服務器上,該服務器嵌入在CRM Online的聯繫人窗體中的iFrame中。截至目前,iFrame中顯示的頁面可供整個網絡訪問,但我想限制只有通過CRM Online/Office 365驗證的用戶才能訪問。有沒有辦法讓我以編程方式檢查以查看是否用戶通過我的外部應用程序對CRM Online/Office 365進行身份驗證?我對在iFrame本身內實現/驗證用戶不感興趣,但我只想看看他們是否擁有有效的登錄會話,如果是,則顯示該頁面,如果不是,則隱藏它。任何反饋或方向將不勝感激。以編程方式檢查用戶是否已通過Office 365/CRM在線身份驗證
回答
在這種情況下,它可能是最容易做到以下幾點:
設置你的網頁來捕獲用戶的認證信息 - 你需要這樣做識別用戶是誰。這在很大程度上取決於您使用的身份驗證方法。例如,使用Windows身份驗證,您可以獲得用戶域名,即
MyDomain\james.wood
。然後通過Web服務查詢CRM,以檢查該用戶(例如基於域名)是否具有系統用戶,具有安全角色或特定權限。
這樣,您不必擔心看到他們是否實際登錄到CRM。您只需檢查用戶是否有權訪問CRM中的數據。您可以考慮添加額外的檢查,以便如果網頁在CRM iframe之外打開,則不會顯示網頁內容。此外,您可以更進一步並在任何對CRM的Web服務調用中模擬用戶。
您可能會覺得以下有用。
- Authenticate users in Microsoft Dynamics CRM。
- Sample: Determine whether a user has a role。
- Impersonate another user。
編輯
或者你可以看看實現單點登錄。
感謝您的回覆。我已經能夠提示輸入憑據並驗證CRM Web服務的身份驗證。但是,我們希望避免重新提示憑據,而是使用現有的CRM Online/Office 365登錄會話/「令牌」,因爲用戶已經通過身份驗證。我不確定是否有辦法將會話「傳遞」到我們在iFrame內運行的應用程序,或者從我們的iFrame向令牌端點進行某種調用以確定用戶是否已通過身份驗證。也許甚至可以從瀏覽器讀取cookie? –
@JoshMorton,我想你想單點登錄,看看我的編輯 –
我猜你是鏈接在底部也是我的問題的答案? http://stackoverflow.com/questions/37056199/how-to-setup-an-mvc-website-to-use-the-same-sso-as-crm-online-so-that-it-can-be – Daryl
- 1. laravel如何檢查用戶是否已通過身份驗證?
- 2. 檢查Facebook用戶是否已通過身份驗證
- 3. ServiceStack Jwt身份驗證檢查是否已通過驗證
- 4. 心跳來檢查用戶是否通過身份驗證?
- 5. Office 365 API編程式身份驗證
- 6. iOS:檢測WIFI是否已通過身份驗證?
- 7. 檢查URL是通過身份驗證的用戶
- 8. 以編程方式設計基於用戶身份驗證
- 9. 以編程方式檢查NuGet包中的經過身份驗證的文件
- 10. CakePHP - 使用jQuery檢查用戶是否通過身份驗證登錄
- 11. 如何使用play.api.mvc.Security類來檢查用戶是否通過身份驗證?
- 12. 檢查用戶是否在OpenFire中進行了身份驗證
- 13. Django模板檢查用戶已通過身份驗證並且存在
- 14. MVC C#檢查用戶是否通過ajax請求進行身份驗證
- 15. 如何爲已通過身份驗證的用戶和未通過身份驗證的用戶創建路由
- 16. 驗證用戶是否已通過iCloud身份驗證方法在我的應用中登錄
- 17. Force to Windows通過編程方式進行身份驗證
- 18. 檢查用戶是否使用Cognito進行了身份驗證
- 19. 如何以編程方式檢查用戶是否在Office 365中聯合?
- 20. ASP.NET MVC身份以編程方式創建用戶繞過密碼驗證
- 21. 身份驗證模式 - 應用程序是否已定義?
- 22. 如何檢查,用戶是否已經對應用程序進行了身份驗證,或者必須通過Linkedin API進行身份驗證?
- 23. Symfony2 - 檢查用戶是否具有身份驗證角色
- 24. 檢查用戶身份驗證
- 25. 如何檢查帳戶是否已通過驗證?
- 26. 用戶通過身份驗證後是否有事件觸發?
- 27. ServiceStack驗證屬性不檢查用戶是否通過驗證
- 28. 是否可以通過編程方式控制Office消息欄
- 29. 用戶身份驗證時,驗證通過的JavaScript功能檢查
- 30. Web API沒有會話 - 需要檢查用戶是否已通過身份驗證
也許SAML可以做到這一點? –