Sitecore和Identity Server 3 - 经过身份验证的用户缺少角色

时间:2018-06-04 21:49:15

标签: sitecore identityserver3 claims-based-identity federated-identity sitecore9

我正在尝试使用Identity Server 3将联合身份验证/单点登录与Sitecore集成。请注意,我没有以任何方式使用Azure Active Directory。

我一直在关注这些页面: http://blog.baslijten.com/enable-federated-authentication-and-configure-auth0-as-an-identity-provider-in-sitecore-9-0/

https://dhalgara.com/2018/05/01/sitecore-9-integrating-azure-ad-along-with-identity-server-3/

我相信我很接近,因为我能够设置登录按钮,将我带到Identity Server进行身份验证。然后我输入用户名/密码,然后它正确地进行身份验证并将我重定向回Sitecore登录页面,并显示以下错误:

您无权访问系统。如果您认为这是错误的,请与系统管理员联系。

我确认我正在进行身份验证,当我进入Sitecore的用户管理界面时,我发现一些有趣名字的用户必须通过我提到的登录过程创建。他们也不是任何角色的一部分,这就是我怀疑我无法登录的原因。

几乎所有网站都提到配置这个XML块是关键:

<transformation type="Sitecore.Owin.Authentication.Services.DefaultTransformation, Sitecore.Owin.Authentication">
  <sources hint="raw:AddSource">
    <claim name="x" value="y" />
  </sources>
  <targets hint="raw:AddTarget">
    <claim name="something here" value="Sitecore\Developer" />
  </targets>
  <keepSource>true</keepSource>
</transformation>

但这究竟意味着什么?我检查了我的JWT,我没有任何索赔要求,比如&#34;角色&#34;或者&#34; http://schemas.microsoft.com/ws/2008/06/identity/claims/role&#34;,但是甚至需要将开发者角色分配给我的用户?上面的X / Y值应该是什么,以及&#34;这里的东西应该是什么&#34;是这样我的用户成为Sitecore \ Developer角色(或我想要的其他角色)?

如何确保在我的用户登录后,我可以将其作为特定群组的一部分?

感谢您的协助。

1 个答案:

答案 0 :(得分:0)

如果遇到以下错误,则表明Identity Server上的应用程序配置有问题,请检查配置是否为重定向URL或站点主机名。

You do not have access to the system. If you think this is wrong, please contact the system administrator.

推荐:在Identity Server / Azure AD中重新访问应用程序配置。

您提到的块基本上是为用户设置“角色”权限。通过以下配置,您可以设置Sitecore /开发人员角色的默认声明。

<transformation name="Transform to Sitecore DEV Role" type="Sitecore.Owin.Authentication.Services.DefaultTransformation, Sitecore.Owin.Authentication">
              <sources hint="raw:AddSource">
                <claim name="groups" value="<GUID>" />
              </sources>
              <targets hint="raw:AddTarget">
                <claim name=__"http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="Sitecore\Developer" />
                <claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="Sitecore\Author" />
                <claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Analytics Personalization" />
                <claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Analytics Maintaining" />
                <claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Forms Editor" />
              </targets>
              <keepSource>true</keepSource>
            </transformation> 

如果您发现有趣的名字被添加到Sitecore中,请尝试以下链接在Sitecore社区中推荐的解决方案。

https://community.sitecore.net/developers/f/5/t/8801