问题标签 [formsauthenticationticket]

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 回答
633 浏览

asp.net - 那是错的吗?- 将身份验证令牌存储在数据库中,并将每个请求与保存在 cookie 中的令牌进行比较

问题:

所以我一直在玩 ASP.NET Forms Authentication,我所做的是我基本上创建了一个带有 Token 列的 User 表来存储 Forms Authentication Token。

设想:

  1. 用户输入他的用户名和密码。
  2. 如果找到用户,他将获得身份验证。
  3. 身份验证令牌存储在数据库中。
  4. 加密的身份验证令牌存储在 cookie 中并发送给客户端。
  5. 当用户请求需要保存在 cookie 中的身份验证令牌的方法时,将被解密并与存储在数据库中的令牌进行比较。

我的问题:

  1. 这种方法是否安全?优点?缺点?
  2. 我可以使用这种方法的会话,所以我必须对每个请求进行比较?

笔记:

  1. Cookie 到期日期设置为自创建后 60 天。
  2. 二手 ORM 是 Rob Conery 的 Massive。
0 投票
1 回答
69 浏览

formsauthenticationticket - 什么是未打补丁的服务器

我正在处理两个不同应用程序共享的 FormsAuthenticationTicket,在堆栈上我发现这可能是未修补服务器的问题

我可以知道什么是未打补丁的服务器

0 投票
1 回答
6065 浏览

asp.net - OWIN 自托管 CookieAuthentication 和旧版 .NET 4.0 应用程序/FormsAuthenticationTicket

我有两个有界上下文

  1. ASP.NET 4.0 MVC/WebForms 应用程序
  2. OWIN 自托管 w/ ASP.NET Web API 2

前者是现有的成熟产品,但是,它缺乏架构 (SmartUI) 导致代码库难以维护,对可扩展性和可伸缩性的担忧现在更加明显。

我们通过引入一个新的后端应用程序来迭代地解决这个问题 - 可通过 OWIN/WebAPI 服务公开。

目前,我们只希望在新应用程序中利用 cookie 身份验证。最初,我认为使用基于 FormsAuthenticationTicket 的现有 cookie 身份验证/验证会轻而易举。显然这不是真的。

在我们的 WebForms 应用程序中,我们使用 MachineKey 来指定我们的解密密钥和验证密钥来支持我们的网络农场。在 .NET4 中,如果我没记错的话,默认算法是 AES。我认为如果默认值不够,利用这些信息来构建我们自己的 TicketDataFormat 会很简单。

首先学到的东西:

  • 如果您使用 OWIN 自托管,则默认 TicketDataFormat 使用 DPAPI 而不是ASP.NET IIS MachineKey。
  • 在 .NET 4.5 中,Microsoft 使 MVC/WebForms MachineKey 管道更具可扩展性。您可以用自己的实现替换它,而不仅仅是更改算法。

理想情况下,我们不打算将我们的主应用程序更新到 .NET 4.5 来取代 cookie 加密。有谁知道将 OWIN 的 CookieAuthentication 与现有的 FormsAuthenticationTicket 集成的方法?

我们尝试创建 custom: IDataProtector, SecureDataFormat<AuthenticationTicket>,IDataSerializer<AuthenticationTicket>实现。IDataSerializer 将负责 FormsAuthenticationTicket 和 AuthenticationTicket 之间的转换。

不幸的是,我找不到有关 Microsoft 票证加密的准确信息。这是我们的 IDataProtector 示例想法:

这假定 Microsoft 将 IV 预先添加到字节数组中。这也假设 MachineKey 是使用的 AES 密钥。但是,我已经读到 MS 使用 MachineKey 进行密钥派生功能 - 考虑到其他设置,如 AppIsolation、AppVirtualLocation、AppId 等。基本上,这是在黑暗中拍摄的,我需要一些光线!

我们目前的方法

我们目前正在使用辅助 cookie 进行原型设计,以便在现有 .ASPXAUTH 旁边为新应用程序上下文建立身份。不幸的是,这意味着在 AuthenticationTicket 和 FormsAuthenticationTicket 中保持会话滑动同步。

相关文章

在 OWIN 托管的 SignalR 实现中接受 ASP.NET 表单身份验证 cookie?

0 投票
1 回答
7143 浏览

asp.net-mvc - FormsAuthentication.SetAuthCookie 与 FormsAuthentication.Encrypt

问题 #1:setAuthCookie 是否比 FormsAuthentication.Encrypt(ticketVariable) 更不安全?

我的意思是,如果有人试图通过修改用户名来修改 setAuthCookie 创建的 cookie,我想这会违反后续调用的身份验证吗?

问题 #2:对于那些使用 iphone 和平板电脑访问网站的人,我想 FormsAuthentication 会失败吗?鉴于我不想使用 cookieless 选项,是否有另一种方法可以使网站在智能手机网络浏览器和 ummm 非智能手机网络浏览器上都安全?

干杯

0 投票
0 回答
59 浏览

c# - 如何保存授权登录用户的信息

我正在使用 ASP.NET Web 应用程序和 FormsAuthenticationTicket。在 FormsAuthenticationTicket 中,我保存了用户名,但我也需要用户的 ID。我试图将 ID 保存在 Session 中,但它并不总是有效。

有没有办法以更好的方式保存 ID?

0 投票
0 回答
560 浏览

asp.net - asp.net 中的 cookie 有问题

我正在构建一个 Web 应用程序,当用户登录时,他的凭据首先会根据数据库进行验证。如果凭据正确,则会创建 FormsAuthenticationTicket。然后从该票创建一个 cookie。设置了 Expires 和 Path 属性。见下文。

当我将响应重定向到新页面时,在 Page_Load 事件中会检查 cookie 的存在。

当我运行应用程序时,它的行为就像 cookie 变量为空一样。有什么我遗漏的吗?在此先感谢您的帮助。

我还在 web.config 中将域属性设置为 localhost。但是,它仍然不起作用。我使用 Google 的开发人员工具检查了 cookie,但在那里我看不到它。

0 投票
1 回答
1860 浏览

c# - ASP.MVC 记住我 cookie 在会话超时后不起作用

在登录表单上,我可以选择允许用户单击记住我的复选框,该复选框会创建一个新的复选框FormsAuthenticationTicket,然后将其添加到 cookie 中。

如上所述,它应该在客户端浏览器中保留 30 天。

对此进行测试,我故意将当前会话超时仅保留一分钟

所以一分钟后,如果用户说“记住我”,我希望网站不应该被重定向回登录页面。然而确实如此。这是执行此操作的代码。

但是cookie是NULL。

我期待这是代表我的误解,所以如果有人可以帮我一把。我会很感激。

谢谢

0 投票
1 回答
340 浏览

asp.net-mvc - 读取 FormsAuthenticationTicket 时结果不同

我有两个代码块,它们应该做同样的工作,即复制整个代码FormsAuthenticationTicket并更改其中存储在UserData.

第一个代码正确读取所有内容,包括UserData. 第二个不包括UserData。它只是返回一个空字符串。我意识到,当一个异常被抛出是因为如果一个空对象。

任何的想法?

第一个代码:

第二个代码:

0 投票
1 回答
288 浏览

asp.net-mvc - 多个 FormsAuthenticationTicket 票证 MVC

我在我的应用程序中使用 FormsAuthenticationTicket。我拥有的是两种不同的用户类型,超级管理员和普通用户。

超级管理员可以冒充普通用户。我想要多个 FormsAuthenticationTicket 实例,可以吗?可能吗?

0 投票
1 回答
235 浏览

asp.net - 使用其他电脑访问应用程序时,FormsAuthentication.signout() 不起作用

我正在使用以下代码注销:

当我从我的电脑访问我的应用程序时,上面的代码工作正常。但是如果我从连接在同一网络中的其他电脑上点击我的应用程序,cookie 不会被删除,应用程序也不会被注销。