Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# .NET OWIN身份验证-Cookie+;Windows(active directory)_C#_Asp.net_Authentication_Active Directory_Owin - Fatal编程技术网

C# .NET OWIN身份验证-Cookie+;Windows(active directory)

C# .NET OWIN身份验证-Cookie+;Windows(active directory),c#,asp.net,authentication,active-directory,owin,C#,Asp.net,Authentication,Active Directory,Owin,我目前正在从事一个项目,该项目有一个认证要求,这给我带来了一些问题,我希望得到一些关于实现它的最佳方法的指导 我有一个internet C#MVC 5项目,该项目目前为外部用户提供OWIN cookie身份验证。我们现在需要允许内部用户能够通过Active Directory访问应用程序。基本上,内部用户会登录到他们的Windows计算机,导航到网站,然后登录 我没有任何做广告认证的经验,所以现在有点像黑洞 我假设,使用OWIN,我需要创建一个新的身份验证中间件,它可以在cookie身份验证之前

我目前正在从事一个项目,该项目有一个认证要求,这给我带来了一些问题,我希望得到一些关于实现它的最佳方法的指导

我有一个internet C#MVC 5项目,该项目目前为外部用户提供OWIN cookie身份验证。我们现在需要允许内部用户能够通过Active Directory访问应用程序。基本上,内部用户会登录到他们的Windows计算机,导航到网站,然后登录

我没有任何做广告认证的经验,所以现在有点像黑洞

我假设,使用OWIN,我需要创建一个新的身份验证中间件,它可以在cookie身份验证之前运行

然而,我不确定从哪里开始设置这个广告中间件,或者是否有一个我可以使用的现有中间件

我试着四处搜索,但似乎找不到关于通过OWIN进行广告身份验证的更多信息,关于Azure广告的内容很多

我确实遇到过这个,但在本地运行时,它使用的是Windows basic身份验证,也许可以根据我的目的进行调整

有人能就如何做到这一点提供一些建议吗


谢谢大家!

不久前,我也遇到了同样的问题,我选择了使用NTLM身份验证(这可以归结为您想要的,intranet用户将自动“登录”)的方式,同时保留完整的应用程序帐户(ASP:NET Identity 2.0),您可能想在NTML身份验证中间件中检查我的OWIN:

您需要向“帐户控制器”添加一条路由,以处理使用NTLM登录和创建本地应用程序帐户(如果需要)。作为一项舒适的功能,您可以为来自intranet的用户添加自动重定向到该登录路径


我希望这能有所帮助。

您遇到的链接是使用集成Windows身份验证
而不是
基本身份验证


我认为你的情况与我的相似。同样的方法也可以通过使用来实现。

感谢您的回复。Ntlm是一个好方法吗?据我所知,它已被放弃,转而支持Kerberos?我对他们两个都不太了解,所以我可能说错话了。是否有任何方法可以自动进行身份验证,而不必通过不同的URL发送用户来进入站点?您完全正确,它已被删除,取而代之的是Kerberos,但Kerberos为您的基础架构增加了更多的要求;这里有一个很好的信息:请注意,通过启用HTTPS/TLS传输加密(您可能无论如何都应该这样做!),您可以绕过NTLM的大多数(与安全相关的)陷阱@pysco68我很难让您的中间件与MVC5 web应用程序一起工作。在其中,我在登录页面上放置了一个指向NTLM入口点的链接。单击它会将其发送到NTLM身份验证流中,在将运行的IE中,在OnCreateIdentity回调中,我提供了一个ClaimSideEntity。然而,这似乎从未在任何地方设置,因此,我返回到登录页面而不是返回URL。在FireFox中,NTLM流似乎无限循环,始终显示登录对话框。@TomLint我们可以在Github讨论一下吗?谢谢您的回复。很抱歉,我对集成/基本身份验证感到困惑,我是windows身份验证的新手,当我看到弹出窗口时,我假设是基本身份验证。你发送的链接看起来很有希望,我会试试看。