2013-07-19 134 views
2

我们有一个单一登录(SSO)Web应用程序,用于根据用户名和密码对不同应用程序中的用户进行身份验证。然后它会生成一个随机标记并将其保存在数据库中。Sharepoint 2013身份验证

要在其他应用程序进行身份验证的用户,我们在每次请求运行的HTTP模块,从而验证令牌,并设置情境的用户是这样的:

WindowsIdentity identity = new WindowsIdentity(currentUsername, "WindowsAuthentication"); 
WindowsPrincipal principal = new WindowsPrincipal(identity); 
this.context.User = principal; 

此方法适用于2010年的Sharepoint(配置为使用Windows身份验证)。但是,这并不适用于新的Sharepoint 2013(也配置了Windows身份验证)。

  1. 你知道为什么这种方法不再适用于Sharepoint 2013吗?
  2. 对于我可以尝试做这项工作,你有什么建议吗?
  3. 您是否对Sharepoint 2013的其他身份验证方法有任何建议?

回答

0

这看起来像是为我写一个自定义声明提供程序的用例。

http://msdn.microsoft.com/en-us/library/ee537299.aspx

基本上当一个调用,以sharpoint,它会重定向到一个自定义的理赔服务。在这里你的代码将运行,这将验证用户并发出令牌。此标记将由SP2013颁发,因为您已在SP2013与索赔提供商之间建立了信任关系。