Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在webforms中使用saml sso_C#_Asp.net_Webforms_Single Sign On_Saml - Fatal编程技术网

C# 如何在webforms中使用saml sso

C# 如何在webforms中使用saml sso,c#,asp.net,webforms,single-sign-on,saml,C#,Asp.net,Webforms,Single Sign On,Saml,我有一个网站webforms,我需要集成saml sso身份验证。 我花了很长时间寻找任何信息,但有太多不同的东西,我不能正确地确定要做的事情 我能说的是,我有一个federationMetadata xml文件,我问我是否有它所需的所有信息,或者我是否需要更多信息来实现身份验证sso 我的理解是: 我必须发布一个带有一些参数的断言请求。 我不了解一些参数,并试图在federationmetadata.xml文件中找到它们。 比如发行人? 如何使用登录键?使用加密? 我必须开发idp和wich工

我有一个网站webforms,我需要集成saml sso身份验证。 我花了很长时间寻找任何信息,但有太多不同的东西,我不能正确地确定要做的事情

我能说的是,我有一个federationMetadata xml文件,我问我是否有它所需的所有信息,或者我是否需要更多信息来实现身份验证sso

我的理解是:

我必须发布一个带有一些参数的断言请求。 我不了解一些参数,并试图在federationmetadata.xml文件中找到它们。 比如发行人? 如何使用登录键?使用加密? 我必须开发idp和wich工具吗?我必须使用sustainsys作为示例吗 我完全迷路了


谢谢您的帮助。

SAML元数据应包括您需要从服务提供商处获得的所有配置信息。同样,您的标识提供程序元数据应该是服务提供程序所需的所有配置信息

SAML消息中的issuer字段对应于元数据中的实体ID


我建议查看可用的开源和商业产品,而不是开发您自己的身份提供商。

SAML元数据应该包括您需要从服务提供商处获得的所有配置信息。同样,您的标识提供程序元数据应该是服务提供程序所需的所有配置信息

SAML消息中的issuer字段对应于元数据中的实体ID


我建议您考虑一下开源和商业产品,而不是开发自己的身份提供商。

您的问题有点模糊,但我想帮助您澄清一些事情。你现在可能已经取得了进步

首先,您正在使用WIF,并且至少需要安装WIF运行时。它附带WIFSDK。你将使用FedUtil工具

您需要元数据文件作为一个文件或位于一个URL,您可以使用它来配置您的配置端。元数据有两个实例

描述身份验证/登录发生位置的元数据。这是FedUtil工具将检查的内容,并将使用它来了解哪些声明是可用的声明是成功登录后web应用程序可用的各种用户信息

由FedUtil工具生成的元数据,它描述了您端的web应用程序,因此可以配置身份验证端

注意:此元数据交换作为部署的一部分提前进行,并且必须在证书过期时更新

FedUtil工具配置web.config文件,以便能够访问整个站点,因此在未成功进行身份验证之前无法访问站点。如果您使用的是标准asp.net身份资料,则可以访问登录用户的详细信息,否则可以直接访问声明

你不需要自己做任何断言。这就是我们需要确定谁登录的全部内容:注意usercode是提供给我们的声明

(System.Security.Claims.ClaimsPrincipal)System.Threading.Thread.CurrentPrincipal).Claims.Where(x => x.Type == "usercode").Select(x => x.Value).FirstOrDefault();
还请注意,web.config中的声明列表对系统没有任何影响,我认为它只是供参考和fedutil工具再次使用


希望这能有所帮助。

你的问题有点模糊,但我想帮助澄清一些事情。你现在可能已经取得了进步

首先,您正在使用WIF,并且至少需要安装WIF运行时。它附带WIFSDK。你将使用FedUtil工具

您需要元数据文件作为一个文件或位于一个URL,您可以使用它来配置您的配置端。元数据有两个实例

描述身份验证/登录发生位置的元数据。这是FedUtil工具将检查的内容,并将使用它来了解哪些声明是可用的声明是成功登录后web应用程序可用的各种用户信息

由FedUtil工具生成的元数据,它描述了您端的web应用程序,因此可以配置身份验证端

注意:此元数据交换作为部署的一部分提前进行,并且必须在证书过期时更新

FedUtil工具配置web.config文件,以便能够访问整个站点,因此在未成功进行身份验证之前无法访问站点。如果您使用的是标准asp.net身份资料,则可以访问登录用户的详细信息,否则可以直接访问声明

你不需要自己做任何断言。这就是我们需要确定谁登录的全部内容:注意usercode是提供给我们的声明

(System.Security.Claims.ClaimsPrincipal)System.Threading.Thread.CurrentPrincipal).Claims.Where(x => x.Type == "usercode").Select(x => x.Value).FirstOrDefault();
还请注意,web.config中的声明列表对系统没有任何影响,我认为它只是供参考和fedutil工具再次使用

呵呵
请注意,这很有帮助。

请参阅“谢谢,它帮助了我”谢谢,它帮助了我嗨,谢谢你的回答,我正在寻找WIF和wsfed解决方案。我想,这就是我需要的。SAML似乎更难,这两种解决方案之间有很大区别吗?没有。它们基本上做相同的事情。然而,大多数人使用SAML SSO而不是WS-Federation。如果您计划支持许多不同的合作伙伴站点,那么您将与SAML有更多的互操作性。如果这不是一个问题,那么WS-Federation就可以了。您好,谢谢您的回答,我正在寻找WIF和wsfed解决方案。我想,这就是我需要的。SAML似乎更难,这两种解决方案之间有很大区别吗?没有。它们基本上做相同的事情。然而,大多数人使用SAML SSO而不是WS-Federation。如果您计划支持许多不同的合作伙伴站点,那么您将与SAML有更多的互操作性。如果这不是问题,那么WS-Federation就可以了。