【问题标题】:Claims Based Authentication from SharePoint to ASP .NET从 SharePoint 到 ASP .NET 的基于声明的身份验证
【发布时间】:2015-03-14 08:49:55
【问题描述】:

我正在尝试在 SharePoint 门户上创建单点登录。我尝试了多种方法,所以如果有人有更好的建议,那么我会全力以赴,但我正试图通过基于声明的身份验证来做到这一点。我有一个运行安全令牌服务的 SharePoint Web 服务站点设置。我的 SharePoint 服务器上的其他 SharePoint 网站目前正在使用它,并且工作正常。我正在尝试做的是利用相同的安全令牌服务向 Web 应用程序颁发令牌,以用作声明,以便从我的 SharePoint 门户中为这些 Web 应用程序实现单点登录。

首先,这可能吗?

其次,如何生成一个令牌供我的 ASP .NET MVC 应用程序使用?

我对安全令牌服务了解不多,它是由不再受雇于我工作地点的其他人设置的,很遗憾我无法咨询他们。提前致谢。

更新: 我现在收到以下错误:

Parser Error Message: ID1024: The configuration property value is not valid.
Property name: 'certificateReference'
Error: 'ID1025: Cannot find a unique certificate that matches the criteria.
StoreName: 'CertificateAuthority'
StoreLocation: 'CurrentUser'
X509FindType: 'FindByThumbprint'
FindValue: '‎mythumbprint'

我安装了我的证书并验证它位于受信任的根证书颁发机构的 Root\Certificates 中。任何想法可能是什么问题?

注意:

感谢您的帮助,这应该从一开始就提到,但我在 Visual Studio 2013 中使用 .NET Framework 4.5,所以请记住这一点。到目前为止的答案和 cmets 可能适用于早期版本的 .NET 和 VS,但似乎不适用于我的情况。

更新:

我似乎至少解决了部分问题。看来我正在通过身份验证,但屏幕是空白的。我仍在努力解决这个问题,但任何有类似问题的人this 对我帮助很大。经过进一步检查,我收到一个 500 Internal Server Error(在 ADFS 成功对我进行身份验证后),但该错误没有出现在浏览器中,我只在 firebug 中看到它。

【问题讨论】:

    标签: model-view-controller sharepoint-2010 claims-based-identity sts-securitytokenservice


    【解决方案1】:

    似乎我的空白页问题是基于声明的身份验证和剩余的基于表单的身份验证代码在我的应用程序中混合在一起的结果。我决定创建一个简单的联合 MVC 应用程序(我能够开始工作),然后慢慢地将代码从我现有的应用程序转移到简单的应用程序中,看看它在哪里中断。对于任何试图完成类似事情的人,我的建议不是像我试图做的那样尝试简单地更改身份验证方法,而是让所需的身份验证在一个新的简单应用程序中工作,并将现有应用程序移植到新应用程序中。这对你来说是一个更长、更辛苦的方式,但就我而言,如果我刚开始这样做会更快。如果我想出任何新的有用信息,我会更新这个答案。

    感谢所有为此提供帮助的人,它确实帮助我到达了现在的位置!

    【讨论】:

      【解决方案2】:

      是的,您可以在 SharePoint 和您的 ASP.Net MVC 应用程序之间实现单点登录。

      由于您的 SharePoint 已经设置了 STS,因此您需要为 STS 设置 MVC 应用程序。您不需要生成令牌,令牌由 STS 生成并返回给您的 MVC 应用程序。

      要为 STS 配置 MVC,您需要 Windows Identity Framework。接下来配置您的 MVC 应用程序以使用基于声明的身份验证,请参阅http://msdn.microsoft.com/en-us/library/hh291061(v=vs.110).aspx

      另外,如果您将 ADFS 用于您的 SharePoint,请阅读 ADFS Federation

      【讨论】:

      • 我找到了联合元数据,但现在出现此错误,我的新问题是:当我使用 https:// 放置路径时,它在我的浏览器中有效,但我的应用程序出现错误,抱怨“:”表示它应该是相对路径。如果我删除 https:// 它会给我一个找不到文件的错误(在浏览器和我的应用程序中)。我一定在这里做错了什么,但我不确定是什么???
      • 不知道你是怎么做的,我发现创建一个空白的asp.net应用程序更容易,然后让FedUtil为你创建配置,看到这个msdn.microsoft.com/en-au/library/ee517285.aspx,参考第 2 部分。注册现有的生产 STS
      • 我正在使用 VS 2013 和 .NET 4.5 我没有看到“创建声明感知 ASP .NET 网站”选项我没有“添加 STS 参考”选项。
      • 我发现了索赔感知问题,安装了 SDK。不过仍然没有 STS 参考。
      • 在 VS2013 中,STS 引用称为 Identity and Access,见bartwullems.blogspot.com.au/2013/03/…
      猜你喜欢
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      相关资源
      最近更新 更多