Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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/9/visual-studio/8.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# 不使用SAML授权的SAML身份验证_C#_Saml 2.0 - Fatal编程技术网

C# 不使用SAML授权的SAML身份验证

C# 不使用SAML授权的SAML身份验证,c#,saml-2.0,C#,Saml 2.0,我被要求实现与SAML2.0IDP的集成,以实现用户身份验证。我从来没有使用过任何联邦授权流程,所以这对我来说都是全新的,所以如果我问了一个愚蠢的问题,请原谅,但问题就在这里 为了满足我的需要,我只想发送一个SAMLP身份验证请求。如果我得到一个响应,说用户是有效的,我会让他们访问我的系统,这将有一个用户id匹配返回的内容。从那时起,所有授权都将由我的系统执行,我不需要在每个请求中向SAML IdP发送令牌。在他们登录后,我就完成了IdP 我在这里和其他网站上看到的许多问题和示例包括向我的项目中

我被要求实现与SAML2.0IDP的集成,以实现用户身份验证。我从来没有使用过任何联邦授权流程,所以这对我来说都是全新的,所以如果我问了一个愚蠢的问题,请原谅,但问题就在这里

为了满足我的需要,我只想发送一个SAMLP身份验证请求。如果我得到一个响应,说用户是有效的,我会让他们访问我的系统,这将有一个用户id匹配返回的内容。从那时起,所有授权都将由我的系统执行,我不需要在每个请求中向SAML IdP发送令牌。在他们登录后,我就完成了IdP

我在这里和其他网站上看到的许多问题和示例包括向我的项目中添加大量库。当我查看它们和它们周围的文档时,它们似乎都希望通过IIS模块或通过与MVC路由机制的集成对每个请求执行身份验证

现在来回答我的问题。我不能自己创建XML并将其作为SAMLRequest值粘贴到querystring上吗?然后解析返回的响应XML以获取所需的值?如果这是一种有效的方法,有人有这样做的示例代码吗


任何帮助都将不胜感激

您描述的流程是通常的操作方式:向Idp发出一个SAML2请求以验证用户,然后为所有后续请求设置会话cookie

除非您想花大量的时间来了解SAML2和XML签名验证规则,否则不要自己创建。它们非常复杂,大多数自定义实现都会出错,导致安全性受损


我自己的图书馆,Kentor.AuthServices可以按照您想要的方式工作。即使它作为一个httpmodule、一个mvc控制器或一个owin中间件出现,它也只会与构成实际登录的第一个请求进行交互。所有后续请求都只是通过,会话cookie机制处理会话身份验证。

您描述的流程是通常的操作方式:向Idp发出一个SAML2请求以对用户进行身份验证,然后为所有后续请求设置会话cookie

除非您想花大量的时间来了解SAML2和XML签名验证规则,否则不要自己创建。它们非常复杂,大多数自定义实现都会出错,导致安全性受损


我自己的图书馆,Kentor.AuthServices可以按照您想要的方式工作。即使它作为一个httpmodule、一个mvc控制器或一个owin中间件出现,它也只会与构成实际登录的第一个请求进行交互。所有后续请求都将通过,会话cookie机制将处理会话身份验证。

谢谢Anders。谢谢你为肯特奥特服务所做的一切努力。我已经从GITHub中删除了该项目。我决定尝试实现HTTP模块的实现方法。我已经修改了Web.config,但现在不确定需要在目录结构中包含大量文件中的哪一个。我认为它只是Kentor.AuthServices.HttpModule。如果我使用带有HTML/JavaScript前端的.NETWebAPI,我还可以使用HTTP模块吗?或者我必须使用MVC实现吗?抱歉,愚蠢的问题仍在尝试学习。这是另一个问题,请将其作为一个问题而不是评论发布。在关于堆栈溢出的评论中有新问题很快就会变得混乱。谢谢Anders。谢谢你为肯特奥特服务所做的一切努力。我已经从GITHub中删除了该项目。我决定尝试实现HTTP模块的实现方法。我已经修改了Web.config,但现在不确定需要在目录结构中包含大量文件中的哪一个。我认为它只是Kentor.AuthServices.HttpModule。如果我使用带有HTML/JavaScript前端的.NETWebAPI,我还可以使用HTTP模块吗?或者我必须使用MVC实现吗?抱歉,愚蠢的问题仍在尝试学习。这是另一个问题,请将其作为一个问题而不是评论发布。在关于堆栈溢出的评论中出现新问题很快就会变得混乱。