会话管理与ASP.. NET MVC + IIS 6.0 +基本认证



我将很快开始一个使用ASP的开发项目。. NET MVC (c#),但希望首先确定如何在新环境中修复我们现有的ASP经典应用程序的一些缺点。我们的内部网服务器正在运行IIS6,由于某些原因(显然是由于负载平衡器),IT团队确定Windows集成认证无法工作,所以我们只能使用basic。我喜欢做基于表单和查询AD,但这不是出于安全目的的选择。因此,挑战在于模拟使用基于表单的身份验证所能完成的工作,但实际上使用的是basic。特别是,能够做一些至少近似于注销的事情会很漂亮。IT团队的首席网络开发人员说,他放弃了尝试让它工作。似乎有很多关于这方面的信息,但由于配置的变化,许多信息似乎是相互冲突的。

根据我们的配置,是否有实现这一目标的最佳实践?

到目前为止,我发现最好的方法是做一些手动会话跟踪,然后通过响应401再次提示登录信息,如果"会话"已经超时,或者如果他们被标记为注销,然后在关闭和打开浏览器之前再次访问该页面。这似乎行得通,但有没有更优雅的解决方案呢?

有一点:在ASP中,身份验证和会话是两个不同的概念。. NET,尽管术语本身使它们容易混淆。

Authentication有一个在cookie中加密的身份验证票据,这通常有一个时间限制,即在您需要重新身份验证之前登录到站点的时间。这也可以是一个滑动刻度,或者不需要您重新身份验证,这取决于您的身份验证是如何配置的。

Session是在特定时间间隔(已验证和未验证)内保持在Session状态的数据,并由其自己的cookie跟踪。根据会话和身份验证如何配置在一起,可能会出现这样的情况:用户的身份验证间隔过了,要求他们登录,但他们仍然拥有会话数据,反之亦然。

听起来你是在谈论一个内部网应用程序,你想使用Windows身份验证和活动目录来验证用户并授权这些用户在应用程序中可以做什么。这对于内部网应用程序来说可以很好地工作,我不完全确定关于这一点的安全担忧是什么。你能详细说明一下吗?

如果你正在谈论一个互联网应用程序,并且想要对内部网用户使用Windows身份验证和活动目录,并对其他人使用表单身份验证,那么这当然也可以实现。你可能想看看Windows Identity Foundation来实现这个。

最新更新