Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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# 使用IIS+SQL Server进行Active Directory身份验证_C#_Asp.net_Iis_Login - Fatal编程技术网

C# 使用IIS+SQL Server进行Active Directory身份验证

C# 使用IIS+SQL Server进行Active Directory身份验证,c#,asp.net,iis,login,C#,Asp.net,Iis,Login,我在尝试在windows安全性下创建web应用程序时遇到一些问题 情景 一台带有IIS的服务器和另一台远程SQL server。来自网络的所有用户都应该能够使用其active directory凭据使用应用程序 在此之后: 连接字符串: 应用程序选项: Authentication: ASP.NET Impersonation: Enabled Basic Authentication: Enabled Windows Authentication: Disabled &

我在尝试在windows安全性下创建web应用程序时遇到一些问题

情景

一台带有IIS的服务器和另一台远程SQL server。来自网络的所有用户都应该能够使用其active directory凭据使用应用程序

在此之后:

连接字符串:

应用程序选项:

Authentication:
    ASP.NET Impersonation: Enabled
    Basic Authentication: Enabled
    Windows Authentication: Disabled <--According to documentation this has to be disabled when IIS and SQL are in different servers.
我按照文档的建议创建了测试页面,结果如下:

测试数据库 当前用户:域\testuser |系统用户:AD\testuser

当前用户IIS User:Domain\testuser-将通过网络流动:False

交互ID:False

BatchSid:错误

ServiceSid:False

用户是已知的,但这三个广为人知的数据类型是错误的,因此将通过网络传输也是错误的

已检查:


有什么建议吗?

一本有趣的书,一步一步地记录了您是如何从部署中完全消除所有安全性的。从阅读开始,只有在你真正理解了你在做什么之后才能做出改变。停止阅读随机论坛帖子。嗯,应用程序设置为仅使用Windows身份验证和模拟。我恢复了所有更改,并按照文档中的说明保留了这些更改,并且只授予经过身份验证的用户在SQL中登录的权限。这个解决方案有什么问题?为什么它会从应用程序中删除所有安全性?我尝试了一些失败的登录,他们得到了未经授权的预期响应。你不清楚你想要实现什么目标。对吗?这不是一个好问题。请解释您试图实施的身份验证方案。如果您不知道,这是您需要解决的第一个问题。您的解决方案(在我发表评论时,在所有编辑之后最初发布)正在删除所有安全性,因为您最终授予了对所有已验证用户组的R/W访问权。事实上,您已经授予了每个人访问您网络的权限。@RemusRusanu您是对的。我将用我正在尝试做的模式更新我的问题。
<identity impersonate="true"/>
<authentication mode="Windows" />
<authorization>
    <deny users="?" />
</authorization>
Identity --> ApplicationPoolIdentity
Load UserProfile --> True
Authentication:
    ASP.NET Impersonation: Enabled
    Basic Authentication: Enabled
    Windows Authentication: Disabled <--According to documentation this has to be disabled when IIS and SQL are in different servers.