关于基于声明的身份认证

关于声明认证 CRM 4.0 使用集成的Windows认证方式去验证内部用户,使用表单认证方式去验证没有使用VPN的互联网用户。CRM 2011 使用基于声明的认证方式取代表单认证方式,基于声明的认证方式是一种提供简化用户登录和单点登录去访问CRM数据的一种解决方案。  基于声明的认证方式是构建在Windows用户身份识别WIF(Windows Identity Foundation)基础上,WIF是一种用于搭建支持声明认证方式和安全token服务的框架。安全token服务是基于标准的,具有互操作性的。而互操作性又是通过工业标准的协议实现的,例如WS联合服务(WS-Federation),WS信任服务(WS-Trust)以及安全断言语言(Security Assertion Markup Language 1.1)。本文是以活动目录联合服务2.0(Active Directory Federation Services 2.0)作为身份验证提供者。 在基于声明的认证方式中,身份验证提供者或者安全token服务商负责验证请求,并颁布SAML安全token,这些安全token包含了用于识别这些用户的声明,比如用户名,用户所处的组。信任方应用程序收到这些SAML的token,并使用其中所包含的声明去决定是否提供这些客户端所请求的资源。基于声明的认证方式可以用于认证本公司本组织内的用户,外部用户,来自合作伙伴的用户。 一.预备知识 在配置CRM 2011基于声明的的认证方式之前,你必须很了解一下的一些概念 ·         CRM 2011 的安装流程; ·         基于声明的认证方式中的基于Token认证; ·         AD FS 2.0的安装和配置 ·         公用密钥的管理和数字证书 参考书目 ·         Windows Server 2008 R2 Active Directory Federation Services 2.0 (http://go.microsoft.com/fwlink/?LinkId=200771) ·         AD FS 2.0 Step-by-Step and How To Guides (http://go.microsoft.com/fwlink/?LinkId=180357)…

1

在ISV页面中调用CRM Web Service时使用Impersonate的几个场景

MSCRM作为平台, 其扩展性已为大家所熟悉.  作为扩展的终极方案, 加入自己编写的ASPX页面并在页面里调用MSCRM的Web Service, 能实现更为复杂的客户需求.  我们知道MSCRM中的所有操作都需要有身份验证, 调用Web Service也不会例外.  本文讨论了如何在自己编写的ASPX页面(下文称为ISV页面)中用正确的身份模拟(Impersonate)调用MSCRM的Web Service的几个场景.   场景一  ISV页面部署在CRM站点的ISV目录下  这种情况下无论你的CRM使用的是On-Premise还是IFD的认证方式, 都必须使用CrmImpersonator类, 将调用CRM Web Service的代码写在CrmImpersonator的段落中.  CrmImpersonator会建立一个线程, 将当前CRM使用者的身份运用到调用的CRM Web Service中. 该场景的实现方法, 请参见 Authentication from an ASPX Page   场景二  ISV页面部署在非CRM站点, 使用者是非CRM用户 这种场景常见于CRM与其它接口的互动, 比如从公司的Internet网页获得客户数据, 或者CRM与其它应用进行的数据交互.  因为ISV页面的使用者不是CRM用户, 我们必须指定一个CRM用户的身份来调用CRM Web Service, 这可以非常容易的在代码中实现.  注意这个时候CRM用户需要有合适的权限来执行ISV页面中CRM相关操作. 该场景的实现方法, On-Premise验证方式请参见 Impersonation, IFD验证方式请参见 Web Form (IFD) Authentication   场景三  ISV页面部署在非CRM站点, 使用者是CRM用户 这时候一般会要求使用当前用户的身份来运行ISV页面中的CRM…

2