我们有一个 MS CRM 2011 的内部部署,一些表单运行自定义 javascript 来预填充某些字段。数据来自我们开发的 WCF RESTful Web 服务,该服务在与 CRM 相同的物理服务器上运行。该服务作为 CRM 网站中的应用程序托管在 IIS 中,以避免跨域脚本问题。Javascript 发出一个 ajax 请求(使用 jQuery),返回一个 JSON 格式的回复,并填充字段。
到目前为止一切正常,但我现在开始考虑安全性和身份验证。具体来说,我希望我们的网络服务只回复有效的 CRM 用户,因为某些数据可能是敏感的。不需要单独的身份验证,所有 CRM 用户都将具有对该 Web 服务的相同访问级别,因此某种单一的服务帐户可以工作。
到目前为止,我正在考虑进行 Windows 身份验证,使用自定义 Web 服务查询 CRM 以查看(已经通过域身份验证的)用户在满足请求之前是否存在于 CRM 中。我在安全方面的经验很少,所以即使是一般性的提示也会受到欢迎。