如何从 ASPXAUTH cookie 创建会话号

本文关键字:创建 会话 cookie ASPXAUTH | 更新日期: 2023-09-27 18:33:38

我想从cookie值中创建一个人类可读的数字,用作会话号。它相对于用户 ID 应该是唯一的。

我知道如何检索cookie,我会对实现这一目标的算法感兴趣,或者可能是另一个生成会话号的想法?

怎么样:

String.Format("{0}{1}", userId, cookieValue.GetHashCode());

如何从 ASPXAUTH cookie 创建会话号

您可以使用以下命令在控制器中获取会话 ID:

Session.SessionID

它将包含实际的会话ID,如下所示:q42eezgj3l5msxpwr5mbvhex

根据 msdn,它存储在 cookie 中:

The SessionID property is used to uniquely identify a browser with session data on the server. The SessionID value is randomly generated by ASP.NET and stored in a non-expiring session cookie in the browser. The SessionID value is then sent in a cookie with each request to the ASP.NET application.

ASPXAUTH Cookie 用于确定用户是否已登录。如果需要解密它,则应执行以下操作:

HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];//.ASPXAUTH
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);