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