我们如何使用 C# 在 SharePoint 中获取当前的身份验证模式

Posted

技术标签:

【中文标题】我们如何使用 C# 在 SharePoint 中获取当前的身份验证模式【英文标题】:How do we get the current Authentication Mode in SharePoint using C# 【发布时间】:2020-06-19 20:59:31 【问题描述】:

我有一个共享点站点,它有不同的身份验证选项可供用户登录,例如 Windows、Trusted SAML 等

如何判断当前请求的认证方式是什么?

我尝试过“SPSecurity.AuthenticationMode”,但它的值始终是表单。

【问题讨论】:

【参考方案1】:

您需要通过 SPOriginalIssuerType 属性获取它

var localClaimManager = SPClaimProviderManager.Local;
                if (localClaimManager != null)
                
                    var issuerType=SPOriginalIssuers.GetIssuerType(localClaimManager.DecodeClaim(SPContext.Current.Web.CurrentUser.LoginName).OriginalIssuer);
                    //Write your logic based on the issuerType received
//https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.administration.claims.sporiginalissuertype?view=sharepoint-server

                

【讨论】:

以上是关于我们如何使用 C# 在 SharePoint 中获取当前的身份验证模式的主要内容,如果未能解决你的问题,请参考以下文章

如何将控件添加到 Web 部件(SharePoint、C#)?

在哪里为 office365 sharepoint 站点编写 C# 代码

在 C# 代码中使用 Sharepoint 365 现代体验获取运行时错误

SharePoint:如何以编程方式将项目添加到自定义列表实例

如何授权 .NET 5.0 / C# 应用程序在没有用户交互的情况下与 Microsoft 365 SharePoint Online 交互?

从 C# 访问 Sharepoint 远程文件夹