我们目前正在将 .NET Web 应用程序迁移到 Azure 云服务,Web 层在多个节点上运行(最初是两个)。我想知道我们应该如何修改基于表单的身份验证机制以在负载平衡环境中运行?这是我们过去从未需要考虑的问题,因为我们的应用程序一直仅限于一台物理服务器。
目前我们在 web.config 中定义受保护的文件夹,如下所示:
<location path="secure-area">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
登录页面中的代码如下所示:
if accountIsValid = true then
FormsAuthentication.SetAuthCookie(sessionID, False)
response.redirect("secure-area/index.aspx")
end if
然后在整个应用程序中检索活动会话,如下所示:
Dim sessionID as string = User.Identity.Name.ToString
想必这种方法不会跨多个节点自动持久化会话状态吧?我想知道 Azure Fabric 控制器是否会为我解决所有这些问题,而无需更改代码。也许是一厢情愿!
任何帮助或在线指南链接将不胜感激!