我想建立一个简单的网站,客户可以在其中下订单和查看产品。此数据是我的 Microsoft Dynamics CRM 2011 环境。
此数据是客户特定的,因此我需要有关已登录用户的信息。用户凭据存储在 CRM 2011 中。使用这些凭据,用户可以登录到这个新的自定义网站。他们不应有权访问 crm 环境本身。
我应该如何为此网站设置身份验证?我可以只在 crm 2011 中查询用户信息,我应该设置 ADFS 应用程序还是其他什么?
我想建立一个简单的网站,客户可以在其中下订单和查看产品。此数据是我的 Microsoft Dynamics CRM 2011 环境。
此数据是客户特定的,因此我需要有关已登录用户的信息。用户凭据存储在 CRM 2011 中。使用这些凭据,用户可以登录到这个新的自定义网站。他们不应有权访问 crm 环境本身。
我应该如何为此网站设置身份验证?我可以只在 crm 2011 中查询用户信息,我应该设置 ADFS 应用程序还是其他什么?
我们刚刚为我的一个客户实现了类似的东西。我们有大约 5000 名用户需要能够查看和编辑 CRM 数据,但我们不想为完整的 CRM 用户许可付费,因为他们需要更新/查看的数据相当小。所有用户都已在 Active Directory 中,因此我们为每个用户购买了员工自助服务客户端访问许可证 (ESS CAL) 许可证。这种类型的用户许可证无权访问 CRM UI,因此他们永远无法真正登录 CRM 本身。
我们在网站上使用了 AD 身份验证,应用程序池用户是 CRM 超级用户帐户。在用户会话的初始加载中,我们从上下文中获取用户名,并在 CRM 中查找用户的 SystemUserId,然后使用模拟服务代理来仅访问和更新允许用户访问的数据。它工作得非常好。
一种方法是创建一组系统用户(可能一个就足够了),对一组网站用户应该可以访问的信息具有访问权限。
然后,在托管 Web 应用程序的服务器上,您可以为每个登录的访问者分配一个角色(这样,CRM 中的某个系统用户实例将对应于一组访问者的角色)。
针对网站的登录过程完全取决于您。我相信,如果您将应用程序和 CRM 服务器之间的连接保持在同一台物理机器上(如果这适用于您的特定设置),那么它们之间的连接是最安全的。