如何在webforms

时间:2018-02-15 15:28:03

标签: c# asp.net webforms single-sign-on saml

我有一个网站webforms,我需要整合saml sso authentification。 我搜索了很长时间以获取任何信息,但有很多不同之处,我无法正确识别正确的事情。

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

我的理解是:

我必须发布带有一些参数的断言请求。 我不了解一些参数,并尝试在federationmetadata.xml文件中找到它们。 像发行人一样? 如何使用登录密钥?使用加密? 我必须开发一个idp和必须使用的工具(例如,Sustainsys) 我完全失去了

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

SAML元数据应包含服务提供商所需的所有配置信息。同样,您的身份提供者元数据应该是服务提供者所需的所有配置信息。

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

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

答案 1 :(得分:0)

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

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

您需要将元数据文件作为文件或URL,您可以使用它来配置配置方。有两个元数据实例。

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

  2. FedUtil工具生成的元数据,用于描述您身边的Web应用程序,以便配置身份验证方。

  3. 请注意,此元数据交换作为部署的一部分提前发生,并且必须更新证书过期时。

    FedUtil工具配置web.config文件,以便能够访问整个站点,因此您无需先成功进行身份验证即可访问该站点。如果您使用标准的asp.net身份信息,则可以访问登录用户的详细信息,否则您可以直接访问权限。

    你自己不需要做任何断言。这就是我们确定登录用户所需的全部内容:(注意"用户代码"是向我们提供的声明)。

    (System.Security.Claims.ClaimsPrincipal)System.Threading.Thread.CurrentPrincipal).Claims.Where(x => x.Type == "usercode").Select(x => x.Value).FirstOrDefault();
    

    另请注意,web.config中的声明列表对系统没有任何影响,仅供参考,而且我认为fedutil工具可以再次使用。

    希望这有帮助。