以编程方式检查用户是否已通过Office 365 / CRM Online进行身份验证

时间:2016-05-16 21:41:42

标签: c# asp.net office365 microsoft-dynamics dynamics-crm-online

我在外部Web服务器上托管了一个ASP.NET页面,该服务器嵌入在CRM Online中的联系表单中的iFrame中。截至目前,iFrame中显示的页面可供整个网站访问,但我想限制只对通过CRM Online / Office 365进行身份验证的用户的访问权限。有没有办法让我以编程方式检查以查看是否用户是否通过我的外部应用程序对CRM Online / Office 365进行了身份验证?我对在我的iFrame中实现/验证用户不感兴趣,而是我只想看看他们是否有有效的登录会话,如果是,则显示页面,如果没有,则隐藏它。任何反馈或指示都将非常感激。

1 个答案:

答案 0 :(得分:0)

在这种情况下,它可能最容易做到以下几点:

  1. 设置您的网页以捕获用户身份验证详细信息 - 您需要这样做以识别用户是谁。这在很大程度上取决于您使用的身份验证方法。例如,使用Windows身份验证,您可以获得用户域名,即MyDomain\james.wood

  2. 然后通过Web服务查询CRM,以检查该用户(例如,基于域名)是否具有具有安全角色或特定权限的系统用户。

  3. 这样您就不必担心看到它们是否实际登录到CRM。您只需检查用户是否可以访问CRM中的数据。您可以考虑添加其他检查,以便在CRM iframe外部打开网页时,您不会显示网页内容。此外,您可以更进一步,并在任何对CRM的Web服务调用中模拟用户。

    您可能会发现以下内容非常有用。

    修改

    或者,您可以查看实施单点登录。

    Implement single sign-on from an ASPX webpage or IFRAME