问题标签 [formsauthentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

c# - 为什么/何时应该使用 WebSecurity.cs

websecurity.cs 的目的是什么,如果我可以使用 System.Web.Security 中的 FormAuthentication 和 Membership 类来做到这一点,为什么我需要一个类来做同样的事情?

0 投票
1 回答
329 浏览

asp.net - ASP.Net MVC3 FormsAuthentication整体登录事件

我有一个 ASP.Net MVC3 应用程序。调用 LogIn 操作时,我使用 MembershipProvider 来验证用户并使用 FormsAuthentication 来设置 cookie。

此外,我从数据库中获取有关用户的一些信息并将其存储在 Session 中。

当用户随后访问该站点时,他们已经通过 cookie 进行了身份验证,我正在寻找可以连接的地方,以便再次从数据库中获取有关用户的信息。

HttpApplication.AuthorizeRequest() 是执行此操作的最佳位置吗?显然,每个请求都会调用它,所以我希望我可以使用一些东西来表明用户已经过身份验证——无论是在登录后明确还是在他们自动进行身份验证时。

0 投票
1 回答
1480 浏览

asp.net - 在 IE 中将 NTLM 与表单身份验证混合使用(空 POST 问题)

我们的 ASP.NET 应用程序托管在 IIS 7.5 中,并具有以下设置:

  • 主站点托管在根 IIS 文件夹下,可通过http://siteurl(1)访问
  • http://siteurl/Intranet我们在(2)下托管的同一个 AppPool 中有一个单独的应用程序

主应用程序 (1) 与表单身份验证 (url: siteurl/loginform) 一起启用了匿名身份验证。第二个应用程序 (2) 具有集成身份验证 (NTLM)。

登录过程如下:

  1. 用户先去siteurl
  2. 用户被重定向到 /Intranet 以检查集成身份验证
  3. 如果集成被接受,用户将使用正确的身份验证 cookie 重定向回 siteurl 并访问该站点
  4. 如果集成失败,用户将被重定向到 siteurl/loginForm 以手动填写凭据

我们遇到了 Internet Explorer (8, 9, 10) 的一些问题,它拒绝在第 4 步提交表单数据。一旦为该会话开始 NTLM 协商,IE 将不会将内容发布到未经身份验证的站点似乎是一种已知行为. 我为此考虑了一些解决方法:

  1. 如果 POST 内容的长度为 0,则将凭据存储在 cookie 中(使用 JS)和服务器上,尝试检查 cookie 值。之后删除cookie
  2. 使用 GET 而不是 POST 发送凭据(很难看,因为我们需要确保用户在浏览器地址栏中看不到他刚刚发布的密码)
  3. 向用户提供一个链接以打开一个新选项卡并在单独的浏览器会话中继续身份验证过程(这似乎可以工作,因为 IE 会很乐意从第二个选项卡发送 POST 数据)

是否有任何其他选择可以解决这个问题?从上述 3 中,哪一个更可取,我们可能会遇到哪些未考虑的陷阱?

0 投票
1 回答
181 浏览

vb.net - 将 FormsAuthentication cookie 转换为字符串以在公共共享变量中使用

我正在尝试从我的 AuthCookie 中获取用户名以用于控制其他变量。cookie 在此处的索引中定义:

我正在尝试在此处将其声明为一个变量以用于控制其他变量:

最终结果是 uNT_id 需要等于他们登录网站的用户名,或者他们登录计算机的用户名,例如我的应该是:

uNT_id = "z148658"

然后我会使用 uNT_id 来控制所有这些其他变量。

0 投票
1 回答
156 浏览

vb.net - FormsAuthentication Cookie 缓存

我遇到了一个问题,即我的 authcookie 没有在浏览器关闭或其他用户登录时被丢弃。

我的 cookie 在这里声明:

我知道这不会删除 cookie,因为我有一个变量可以显示 cookie 用户名

0 投票
2 回答
1177 浏览

asp.net - ASP.Net Forms 身份验证 cookie 跨会话传递

我对在 ASP.Net 中进行开发相当陌生,并且我一直在寻找解决这个问题的方法,但无济于事。我正在使用表单身份验证对用户进行身份验证,当我使用用户 A 登录时,我放弃了当前会话,生成一个新的会话 cookie/id 并重定向到我的内容页面,一切都按计划进行。但是,当我打开一个新的浏览器窗口并导航到登录屏幕,从而启动一个新会话时,用户 A 的身份验证 cookie 会自动传递给此会话,并且是请求 cookie 集合的一部分。更糟糕的是,当我以用户 B 的身份实际登录并获取新的身份验证 cookie 然后刷新会话 A 的浏览器窗口时,它现在具有用户 B 的身份验证 cookie。

我不知道为什么会这样。我认为浏览器(IE9)正在缓存身份验证cookie,因为即使我在我的代码隐藏中专门设置了 Response.Cache.SetCacheability("no-cache") 响应头集合设置为缓存控制“私有”对于所有页面。然后我在想这可能是一个线程问题。

非常感谢您对为什么会发生这种情况的任何见解,谢谢。

0 投票
1 回答
403 浏览

asp.net-mvc-3 - 是什么导致 MVC3 中的会话/表单身份验证超时

有人可以让我知道您的身份验证突然失效的原因是什么,即使您正在处理一个没有任何空闲时间的应用程序?有和没有 AJAX 调用。从 MVC3 应用程序到登录页面的 302 重定向有哪些不同的原因。
一直在努力解决随机发生的超时问题。有时在登录应用程序的几分钟内,有时您可以持续数小时(有/无空闲时间)而不会被淘汰。

谢谢你

0 投票
1 回答
302 浏览

c# - 使用什么对象来锁定来自单一会话的线程(来自单个连接的用户)

我想 lock("on some object") 阻止单个用户的两个线程同时访问代码的某些部分。具有两个不同会话的两个不同用户可以做到这一点。我正在使用FormsAuthentication来处理会话。我可以用什么样的物体来做锁?此类(FormsAuthentication)是否为每个会话提供某种单例,或者您知道其他一些技巧吗?

我正在考虑处理一个隐藏在一组对象上的字典的单例(作为不同打开会话的一组锁)。但是在开始这种可能使代码更难理解的复杂类之前,我是否忘记了一些最好和更简单的方法来做到这一点?

你知道一些更好的技巧来为一个信号会话做那个锁吗?

0 投票
0 回答
222 浏览

asp.net - 跨服务器的 ASP.NET MVC 共享表单身份验证 Cookie

全部,

我们目前跨两个框的子域需要共享表单身份验证 cookie。

  • Box1:Windows Server 2008 标准版/IIS 7
  • Box2:Windows Server 2009 R2/IIS 7.5

我们已经在 web.config 文件中匹配了所有表单的 auth 值和机器键值,但是当我们在应用程序之间切换时,第二台机器上没有 auth cookie。我们往哪个方向走并不重要。

在 IIS 7 和 7.5 之间共享表单身份验证 cookie 是否存在问题?

谢谢,

0 投票
2 回答
5763 浏览

c# - 使用 FormsAuthentication.Authenticate 登录

我正在尝试创建一个用户可以在我的网站上登录的身份验证 cookie。

我有一个这样的登录表单:

然后该按钮在后面的代码中执行此操作:

在 Web.config 中它看起来像这样:

为什么我总是“无法验证”?当我想创建登录用户需要访问某些页面的身份验证 cookie 时,我做错了什么?