【发布时间】:2014-06-04 23:37:20
【问题描述】:
我在发布到 Azure 中的暂存服务器时遇到了一个奇怪的问题。在此部署中,我有一个使用 SQL 成员资格的 Web 应用程序。当我尝试通过我的登录页面登录时,我被重定向回登录页面。这是一个 .NET 4.0 应用程序。
使用 Firebug 的网络面板,我可以看到当我点击输入时,表单已发布,并且响应标头具有我的身份验证票证的 set-cookie 属性。它出现了两次。
.ASPXAUTHTEST=27D254F0AEEACB.........; domain=cloudapp.net; expires=Thu, 05-Jun-2014 05:29:24 GMT; path=/; HttpOnly
当表单发布时,cookie 被设置,我在 Firebug 中看到我重定向到我的默认 URL。当我点击默认 URL 时,cookie 不存在,所以我立即注销。
这是我正在使用的配置。
<authentication mode="Forms">
<forms cookieless="UseCookies" enableCrossAppRedirects="false" loginUrl="~/Default.aspx" name=".ASPXAUTHTEST" slidingExpiration="true"
timeout="360" requireSSL="true" defaultUrl="~/Application/Index.aspx" protection="All" path="/" domain="cloudapp.net"/>
</authentication>
奇怪的是,我在生产环境中进行了相同的部署,并且可以正常工作。我已尝试再次重新部署整个实例(新 VM 等)。这没有奏效。我也尝试过部署到新的操作系统版本,但没有奏效。
我添加了一些日志代码来查看发生了什么,但它使我得出与 Firebug 相同的结论,即未在浏览器中设置 cookie。它与浏览器无关,因为我也尝试过 Chrome 和 IE。
我最近从 Azure SDK 1.6 升级到 2.1。
有人有什么建议吗?
【问题讨论】:
-
您的登录网址也是您的 default.aspx 吗?
loginUrl="~/Default.aspx" -
域实际上是“cloudapp.net”,您的 SSL 是否适用于该域?
-
我的default.aspx页面也是我的loginUrl。暂存域是 cloudapp.net(Azure 的默认域)。我为requireSSL尝试了真假,没有任何运气。
标签: google-chrome firefox azure cookies sqlmembershipprovider