Sitecore 声明 - 如何让它发挥作用?

Sitecore Claims - How do I get it to work?

我对 Sitecore 还很陌生。 我正在将 Web 表单应用程序转换为 Sitecore 应用程序,我在其中调用 ADFS 并让用户登录。应用程序 returns 具有 NameEmailAddress 的声明对象。 但是,在 Sitecore 的情况下,我读到 Sitecore 直接实现了 IIdentityIPrincipal,因此无法使用具有 Sitecore 身份和用户(主体)的声明。

我试过参考 this article。 并下载并安装了 ADFS.Authentication package.

我还对文章中提到的 web.config 进行了更改。 据我了解,我需要做的就是调用登录方法:

AuthenticationManager.Login(userId, false);

但是,当我 运行 时,我得到这个错误:

AuthenticationHelper has not been set. It must be set in Initialize.

我该如何进行?据我所知,通过下载 ADFS.Authentication 包,我不需要做任何事情,这也应该负责转换声明。我的理解正确吗? 请帮助我。

谢谢!

我在过去实现了类似的东西,为了让它工作,我设置了自己的 Http 模块来处理来自远程系统的来回通信,但我没有实现 IPrincipal。

然后在通过身份验证后,我以 Sitecore 虚拟用户的身份登录用户,并将所有信息存储在加密的表单 cookie 中,这使事情变得简单明了,您不必担心与 Sitecore 发生任何冲突。

有关虚拟用户的更多信息:

http://www.sitecoreinsight.com/lightweight-authentication-using-virtual-users-in-sitecore/