gpt4 book ai didi

asp.net - 表单例份验证是完全必要的吗?

转载 作者:行者123 更新时间:2023-11-30 23:45:52 24 4
gpt4 key购买 nike

我现在正在编写一个内部 Web 应用程序(使用 ASP.Net Web 窗体),它提出了一个奇怪的问题。我必须能够模拟当前登录的 Windows 用户,并根据他们的 Windows 身份验证执行命令以登录......并且......如果他们没有在我必须使用的应用程序中设置 Windows 身份验证登录它们,我必须能够接受用户名和密码。我还必须在 .Net 4.0 中编写应用程序,并尽可能保护它。我通过在 web.config 中不使用 Windows 身份验证或表单例份验证来实现这一点,而是设置 session 变量以防止用户访问 Web 应用程序中的页面而不是登录。我通过创建一个奇怪的名称 session 变量来做到这一点使用基于他们的用户名(Windows 身份验证与否)的值,然后是一个 secret session 变量。 secret 变量作为 256 位加密字符串在 web.config 中,我在其中解密,并设置为 session secret 。为了加载页面,第一个 session 变量不能为空,第二个变量必须等于解密的 key 值……如果变量没有通过检查,它会将它们重定向到登录页面。我在 web 应用程序中的每个页面、通用处理程序和 webservice 方法上设置了它。我在几分钟没有事件后使 session 超时,并在注销时,将所有 session 变量设置为空,并使所有 cookie 过期。 (我也禁用了所有缓存)。

我的问题是......这是否提供与表单例份验证相当的安全性?我一直使用Forms身份验证,但不能在这里使用它。如果我这样做,用户将不得不重新配置 IIS 和 web.config 中的设置以切换登录程序(据我所知,您不能同时使用 Forms 身份验证和 Windows 身份验证来管理您的页面和其他 Web资源)。使用上述方法,我可以做到两全其美,但对我的方法的安全性感到好奇。除了使用表单例份验证之外,我还有什么可以在这里实现的以确保最大的安全性吗?是否可以在不使用 Forms 身份验证的情况下实现相同级别的安全性?

感谢您提前提供任何见解!

最佳答案

Does this offer comparable security to that of Forms authentication?





安全方面的第一条规则是除非绝对必要,否则不要重新发明轮子。您提出的任何家庭烘焙解决方案都有可能与提供的解决方案(如 Windows 或 Forms 身份验证)一样安全。问题在于,本土解决方案很少能发挥这种潜力。他们可能测试没问题,但细微的错误可能仍然存在。您不想在一年后发现您在六个月前遭到黑客攻击。现有的解决方案已经在数百万个应用程序中进行了测试和使用,而您的解决方案将在一个应用程序中使用并最多由少数人进行测试。

快速搜索表明可以在同一个应用程序中同时实现 Windows 和 Forms 身份验证,所以我会进一步研究它。

Mixing Forms and Windows Security in ASP.NET

关于asp.net - 表单例份验证是完全必要的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com