问题标签 [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.
asp.net - 那是错的吗?- 将身份验证令牌存储在数据库中,并将每个请求与保存在 cookie 中的令牌进行比较
问题:
所以我一直在玩 ASP.NET Forms Authentication,我所做的是我基本上创建了一个带有 Token 列的 User 表来存储 Forms Authentication Token。
设想:
- 用户输入他的用户名和密码。
- 如果找到用户,他将获得身份验证。
- 身份验证令牌存储在数据库中。
- 加密的身份验证令牌存储在 cookie 中并发送给客户端。
- 当用户请求需要保存在 cookie 中的身份验证令牌的方法时,将被解密并与存储在数据库中的令牌进行比较。
我的问题:
- 这种方法是否安全?优点?缺点?
- 我可以使用这种方法的会话,所以我必须对每个请求进行比较?
笔记:
- Cookie 到期日期设置为自创建后 60 天。
- 二手 ORM 是 Rob Conery 的 Massive。
formsauthenticationticket - 什么是未打补丁的服务器
我正在处理两个不同应用程序共享的 FormsAuthenticationTicket,在堆栈上我发现这可能是未修补服务器的问题
我可以知道什么是未打补丁的服务器
asp.net - OWIN 自托管 CookieAuthentication 和旧版 .NET 4.0 应用程序/FormsAuthenticationTicket
我有两个有界上下文:
- ASP.NET 4.0 MVC/WebForms 应用程序
- 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 中保持会话滑动同步。
相关文章
asp.net-mvc - FormsAuthentication.SetAuthCookie 与 FormsAuthentication.Encrypt
问题 #1:setAuthCookie 是否比 FormsAuthentication.Encrypt(ticketVariable) 更不安全?
我的意思是,如果有人试图通过修改用户名来修改 setAuthCookie 创建的 cookie,我想这会违反后续调用的身份验证吗?
问题 #2:对于那些使用 iphone 和平板电脑访问网站的人,我想 FormsAuthentication 会失败吗?鉴于我不想使用 cookieless 选项,是否有另一种方法可以使网站在智能手机网络浏览器和 ummm 非智能手机网络浏览器上都安全?
干杯
c# - 如何保存授权登录用户的信息
我正在使用 ASP.NET Web 应用程序和 FormsAuthenticationTicket。在 FormsAuthenticationTicket 中,我保存了用户名,但我也需要用户的 ID。我试图将 ID 保存在 Session 中,但它并不总是有效。
有没有办法以更好的方式保存 ID?
asp.net - asp.net 中的 cookie 有问题
我正在构建一个 Web 应用程序,当用户登录时,他的凭据首先会根据数据库进行验证。如果凭据正确,则会创建 FormsAuthenticationTicket。然后从该票创建一个 cookie。设置了 Expires 和 Path 属性。见下文。
当我将响应重定向到新页面时,在 Page_Load 事件中会检查 cookie 的存在。
当我运行应用程序时,它的行为就像 cookie 变量为空一样。有什么我遗漏的吗?在此先感谢您的帮助。
我还在 web.config 中将域属性设置为 localhost。但是,它仍然不起作用。我使用 Google 的开发人员工具检查了 cookie,但在那里我看不到它。
c# - ASP.MVC 记住我 cookie 在会话超时后不起作用
在登录表单上,我可以选择允许用户单击记住我的复选框,该复选框会创建一个新的复选框FormsAuthenticationTicket
,然后将其添加到 cookie 中。
如上所述,它应该在客户端浏览器中保留 30 天。
对此进行测试,我故意将当前会话超时仅保留一分钟
所以一分钟后,如果用户说“记住我”,我希望网站不应该被重定向回登录页面。然而确实如此。这是执行此操作的代码。
但是cookie是NULL。
我期待这是代表我的误解,所以如果有人可以帮我一把。我会很感激。
谢谢
asp.net-mvc - 读取 FormsAuthenticationTicket 时结果不同
我有两个代码块,它们应该做同样的工作,即复制整个代码FormsAuthenticationTicket
并更改其中存储在UserData
.
第一个代码正确读取所有内容,包括UserData
. 第二个不包括UserData
。它只是返回一个空字符串。我意识到,当一个异常被抛出是因为如果一个空对象。
任何的想法?
第一个代码:
第二个代码:
asp.net-mvc - 多个 FormsAuthenticationTicket 票证 MVC
我在我的应用程序中使用 FormsAuthenticationTicket。我拥有的是两种不同的用户类型,超级管理员和普通用户。
超级管理员可以冒充普通用户。我想要多个 FormsAuthenticationTicket 实例,可以吗?可能吗?
asp.net - 使用其他电脑访问应用程序时,FormsAuthentication.signout() 不起作用
我正在使用以下代码注销:
当我从我的电脑访问我的应用程序时,上面的代码工作正常。但是如果我从连接在同一网络中的其他电脑上点击我的应用程序,cookie 不会被删除,应用程序也不会被注销。