我在断点上有这个代码,它可以在除Windows上的Safari之外的每个浏览器中工作,当我登录时,它总是显示用户未经过身份验证。
我将Safari重置为默认值。
在我的web.Config文件中,我添加了
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" defaultUrl="~/ToolsHome.aspx" timeout="2880" cookieless="UseCookies" />
</authentication>
无法让野生动物园工作。
我没有指定cookie名称?我在本地主机上运行它,然后当我将它上传到我的域时,同样的问题。
if (!User.Identity.IsAuthenticated)
{
Response.Redirect("Login.aspx");
}
else
{
if (HttpContext.Current.User.IsInRole("Physician")
|| HttpContext.Current.User.IsInRole("Staff"))
{
if (Session["loggedin"] != null)
{
Session["PatientID"] = Session["loggedin"].ToString();
}
}
}
答案 0 :(得分:2)
也许是一个迟到的答案,但我遇到了这个问题。我通过在web.config中的forms-tag中添加cookieless =“UseCookies”来解决它。当您在Mac上的内置应用中使用iOS或Safari中的Chrome时,会删除身份验证Cookie。
这只发生在NET4.0中,如果升级到NET4.5就可以解决。
有关详细信息,请阅读以下文章: http://www.hanselman.com/blog/FormsAuthenticationOnASPNETSitesWithTheGoogleChromeBrowserOnIOS.aspx