简体   繁体   English

Okta Single Sign On for SharePoint 2013-如何从数据库注入自定义声明

[英]Okta Single Sign On for SharePoint 2013 - how to inject custom claims from database

Scenario: 场景:

We are using Okta Single Sign On (SSO) on a SharePoint 2013 Extranet facing site. 我们正在面向SharePoint 2013 Extranet的网站上使用Okta单点登录(SSO)。 It fits the requirement well when individual users(email as user identity) granted site permissions. 当单个用户(作为用户身份的电子邮件)授予站点权限时,它非常适合该要求。

However, as part of claims based permissions, we have a need to append custom claims to the user identity based on a membership rank in a committee. 但是,作为基于声明的权限的一部分,我们需要根据委员会中的成员资格等级将自定义声明附加到用户身份。 The membership and rank information is stored in a SQL database. 成员资格和等级信息存储在SQL数据库中。

Part of SSO installs, Okta provided a people picker (SPClaimsProvider). 作为SSO安装的一部分,Okta提供了人员选择器(SPClaimsProvider)。 If I use the Okta people picker I have no control over to inject custom claims through SPClaimsProvider. 如果使用Okta人员选择器,则无法控制通过SPClaimsProvider注入自定义声明。 They should dynamically injected by querying ranks from SQL database/CRM. 它们应该通过从SQL数据库/ CRM查询等级来动态注入。

Questions: 问题:

Should we uninstall Okta people picker and write our own SPClaimsProvider to append custom claims (SPClaimsProvider)? 我们是否应该卸载Okta人员选择器并编写我们自己的SPClaimsProvider来追加自定义声明(SPClaimsProvider)?

(OR) (要么)

Use Okta people picker and develop custom System.Security.Claims.ClaimsAuthenticationManager to inject claims 使用Okta人员选择器并开发自定义System.Security.Claims.ClaimsAuthenticationManager以注入声明

(OR) (要么)

Leave Okta people picker as is, write a new SPClaimsProvider and install in parallel to Okta people picker. 保持Okta人员选择器不变,编写新的SPClaimsProvider并与Okta人员选择器并行安装。

Looking for some guidance. 寻找一些指导。

The last option works fine. 最后一个选项工作正常。 You can create and install multiple custom claims providers; 您可以创建并安装多个自定义声明提供程序; the only limitation is that you can only have one default custom claims provider per SPTrustedIdentityTokenIssuer. 唯一的限制是每个SPTrustedIdentityTokenIssuer只能有一个默认的自定义声明提供程序。 Just create a new custom claims provider and have it only inject claims by overriding the FillClaimsForEntity method. 只需创建一个新的自定义声明提供程序,并使其仅通过覆盖FillClaimsForEntity方法来插入声明即可。 Specific details for doing so are here (NOTE: this article works for both SharePoint 2010 and 2013): https://samlman.wordpress.com/2015/02/28/writing-a-custom-claims-provider-for-sharepoint-2010-part-1-claims-augmentation-and-registering-your-provider/ . 具体操作请参见此处(注意:本文适用于SharePoint 2010和2013): https : //samlman.wordpress.com/2015/02/28/writing-a-custom-claims-provider-for-sharepoint -2010-part-1-要求增强和注册您的提供商/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM