Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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
ASP.NET Intranet配置-获取网络用户ID,但以不同用户身份访问数据库和文件夹_Asp.net_Authentication_Intranet - Fatal编程技术网

ASP.NET Intranet配置-获取网络用户ID,但以不同用户身份访问数据库和文件夹

ASP.NET Intranet配置-获取网络用户ID,但以不同用户身份访问数据库和文件夹,asp.net,authentication,intranet,Asp.net,Authentication,Intranet,我看了很多文章,尝试了很多设置,但我似乎无法在我的内部网站上实现我想要的。即使我没有找到解决方案,一个明确的“你不能那样做”也会帮助我前进。以下是我想做的: 网站可以识别用户的网络登录凭据-只有这样我才能在不登录的情况下获得他们的用户ID 该网站使用一些通用帐户(IUSR或类似的帐户)访问SQL Server,而同一网络用户只有通过该网站才能访问该SQL Server 用户可以将文件上载到网站动态创建的一组文件夹中,以包含其文件,供日后参考 该网站可以动态构建网页,其中包含指向用户文件的链接,并

我看了很多文章,尝试了很多设置,但我似乎无法在我的内部网站上实现我想要的。即使我没有找到解决方案,一个明确的“你不能那样做”也会帮助我前进。以下是我想做的:

  • 网站可以识别用户的网络登录凭据-只有这样我才能在不登录的情况下获得他们的用户ID
  • 该网站使用一些通用帐户(IUSR或类似的帐户)访问SQL Server,而同一网络用户只有通过该网站才能访问该SQL Server
  • 用户可以将文件上载到网站动态创建的一组文件夹中,以包含其文件,供日后参考
  • 该网站可以动态构建网页,其中包含指向用户文件的链接,并且仅限于用户文件,以便用户可以通过网页打开/下载这些文件
  • 用户无法通过web服务器上的网络共享访问上载的文件
  • 所有的文件夹创建、文件上传和文件服务都是在一些通用帐户(如IUSR)下进行的

  • 我目前已经配置了使用Windows身份验证的东西,我可能会接受它,但我不想要求登录到该站点。显然,为了实现这一点,我需要将服务器配置为一个受信任的委托,而它正在拖他们的后腿。此外,此配置允许用户通过网站以外的其他方式访问SQL Server和文件夹/文件,我真的不希望这样。我只需要提取他们的用户ID,这样我就可以使用它从Active Directory中获取有关他们的信息,并跟踪他们与web应用程序的交互。

    在查看您的帖子时,我必须首先说“是”,似乎您想要完成的事情是可以完成的。然而,你的问题的严重性排除了简单的张贴答案。从我收集的信息来看,有三个安全问题需要解决:1)Windows身份验证,2)仅限管理员的SQL访问,3)在使用Active Directory进行身份验证时仅限用户访问文件和目录

    几个月来,我一直在使用Active Directory(Windows登录)构建ASP.net intranet web应用程序。我鼓励您阅读本文:了解有关在ASP.net web应用程序中设置windows身份验证的详细信息。您可以使用Visual Studio[工具箱]中名为“登录”的部分向网页添加元素,该部分包含诸如“LoginName”之类的元素

    接下来,我确信您可以使用您选择的身份验证参数来控制SQL server查询访问。在connectionString中通常为“Integrated Security=True;”的部分中您需要将其切换为“集成安全性=错误”;username=sqlAdminUserName;password=sqlAdminPassword'。有关更多信息,我建议查看此帖子:

    对于第三个安全问题,一旦隔离了用户的windows登录标识,您就应该能够动态构建网页、文件、目录以及您需要的任何其他资源,所有这些都是为该用户定制的。我相信所有这些材料的生成都可以通过IUSR帐户完成,唯一需要的成分是Windows登录用户身份


    祝你好运,我希望我的建议能帮助你向前迈进。

    事实上,答案并不那么复杂,为什么很难在网上找到一个单一的来源来解释它,这是一个真正的谜。以下是我对内联网应用程序的IIS身份验证,该应用程序的行为完全符合我的要求:

    • 启用ASP.NET模拟并编辑到经过身份验证的用户
    • 启用Windows身份验证
      • 高级设置->扩展保护->关闭
      • 高级设置->启用内核模式身份验证->取消选中
      • 提供者->可用提供者->协商:Kerberos并将其移动到顶部
    • 禁用所有其他身份验证
    • 最关键:使服务器成为Active Directory中的“受信任的委托”
    应该这样做