- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这当然是一个奇怪的...
我有一个 ASP.net 4.0、C# 网站,它有一个使用 FormsAuthentication 处理用户访问的登录页面。整个站点中还有一些代码可以在 session 超时或其他需要用户重新登录的情况下将用户引导回登录页面。这些都是我以前做过十几次的非常基本的东西。
我知道整个过程都有效,因为我已经能够在我尝试过的每个浏览器上登录到通过 VS2010 运行的站点。当它位于使用 Chrome、Firefox、Safari (Mac) 和两个手机浏览器的开发服务器上时,它也能正常工作。我遇到的唯一问题是 Internet Explorer。
现在,考虑到它在本地 IE 中工作但在服务器上不工作,这个有点难以调试。它也适用于服务器上的其他浏览器这一事实也排除了服务器配置问题。
我为找出可能出错的地方所做的是将查询字符串添加到我的 FormsAuthentication.RedirectToLogin("WhateverPage=WhateverSectionOfCode");线来尝试解决这个问题。问题是,当我在 IE 中运行网站时,它从不附加该查询字符串,这让我相信它永远不会遇到任何“RedirectToLogin”行。
我知道它进行身份验证,因为更新数据库中上次登录时间戳的代码只有在用户通过身份验证时才会触发。看起来“RedirectFromLogin”行确实消失了,并在 web.config 中找到了正确的条目......它实际上可能正在重定向我,但即使它确实如此,它总是将我弹回登录屏幕。
我已经经历了所有可能导致此问题的真正基本的 ID-10T 错误(呵呵):增强的安全设置、禁用的 cookie 等,但我在多台机器上得到了相同的结果。
对于接下来要检查的内容,我真的有点困惑。我已经对代码进行了另外两组观察,但他们想不出任何原因来说明为什么会发生这种情况。如果有人对可能发生的事情有任何建议,我很乐意听取他们的意见。
谢谢!
最佳答案
我认为这是关于 cookie 的事情..
您是否在 web.config 中设置了域属性?
<authentication mode="Forms">
<forms loginUrl="~/login.aspx" name="cookiename" domain="domain.com" cookieless="UseCookies" slidingExpiration="true" timeout="60"/>
</authentication>
关于c# - FormsAuthentication 适用于除 IE 之外的所有浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7571227/
问题一: setAuthCookie 是否比 FormsAuthentication.Encrypt(ticketVariable) 更不安全? 我的意思是,如果有人试图通过修改用户名来修改 setA
在一个配置了 FormsAuthentication 的应用程序中,当用户在没有授权 cookie 或过时的 cookie 的情况下访问 protected 页面时,ASP.NET 发出 HTTP 4
我的 Formsauthentication 和我的 ajax 调用有问题。我喜欢 Formsauthenticaction 适用于普通 asp.net 网站的方式。 但是我的 asp.net 网站中
所以我有一个登录页面,我在其中设置了自己的 cookie 和 FormsAuthenticationTicket。但是,当我最终选择登录后将用户重定向到新主页时,它拒绝了。它只是无缘无故地重定向回登录
第一季度我读过,在设置身份验证 cookie 的超时时,我们应该记住,cookie 持续的时间越长,cookie 被盗用和滥用的可能性就越大。 A) 但是假设我们通过为整个应用程序启用 SSL 来保护
我有一个 asp.net 应用程序,我正在使用 FormsAuthantication。当用户关闭页面时,位于 Global.asax Session_End 中的代码被执行:FormsAuthant
标题应该说明了一切。 这是设置cookie的代码: // snip - some other code to create custom ticket var httpCookie = new Htt
我以为要等好几年,没想到一小时内就通关了。 最佳答案 根据Explained: Forms Authentication in ASP.NET 2.0 , "默认值为 30 分钟":
我很难弄清楚这一点。我正在使用表单例份验证。当用户登录并检查记住我时,我希望用户保持登录状态 24 小时。问题是,无论我做什么,用户都会在 30 分钟后自动注销。我们用户选择记住我,我设置了一个持久
我的 ASP.NET MVC Web 应用程序允许管理员更改自己或其他用户的用户名。 用户通过调用 FormsAuthentication.SetAuthCookie(userName [string
升级到 .Net 4.5 后,我现在收到“System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile 已过时”
所以,我在 Controller 中有代码: FormsAuthentication.SetAuthCookie("hello", true);throw new Exception("" + Use
如果我调用 FormsAuthentication.SetAuthCookie("john", true),用户名是否存储在 cookie 中? 我想知道的是,如果用户 session 超时然后用户再
我是 ASP.Net 的新手。请解释我需要添加的内容。我在登录前单击此页面,通过“FormsAuthentication.RedirectToLoginPage();”将用户带到登录页面。但是在 Pa
我遇到以下问题:重新发布 ASP.NET Web 应用程序会导致(如预期的那样) session 重置,我保留了额外的用户信息(访问尝试会导致 NullReferenceException)。 为了避
在 ASP.NET MVC3 Controller 操作中,我想注销用户并返回 401 状态代码。代码很简单: public ActionResult Index() { FormsAuthenti
在 SignOut() 调用重定向到“...login.aspx?ReturnUrl=%2fmydomainname%2flogout.aspx”之后使用此方法,这样用户就无法再次登录,因为成功登录会
我目前在 ASP.Net 身份验证方面遇到了一个奇怪的问题。考虑以下两行: MembershipCreateStatus ct = new MembershipCreateStatus(); Memb
我正在开发一个带有安全部分的网站,即名为“PIP”的文件夹。 登录部分工作正常,但当我点击注销时,用户仍然是已知的,如果他/她接触安全部分,则不会被重定向到登录页面。 这是我的 web.config:
您好,我正在对我的 ASP.Net MVC2 项目进行一些单元测试。我正在使用最小起订量框架。在我的 LogOnController 中, [HttpPost] public ActionResult
我是一名优秀的程序员,十分优秀!