我们知道表单认证cookie是加密的.那么如何从我的代码中读取表单认证cookie内容.

if (Request.Cookies[".ASPXAUTH"] != null)
{
    HttpCookie myCookie = new HttpCookie(".ASPXAUTH");
}

推荐答案

您可以使用FormsAuthentication提供的DECRYPT方法访问票证

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

string cookiePath = ticket.CookiePath;
DateTime expiration = ticket.Expiration;
bool expired = ticket.Expired;
bool isPersistent = ticket.IsPersistent;
DateTime issueDate = ticket.IssueDate;
string name = ticket.Name;
string userData = ticket.UserData;
int version = ticket.Version;

Asp.net相关问答推荐

在这个 For 循环计数没有增加

InvalidOperationException:在程序集上找不到UserSecretsIdAttribute

威胁已经被清除了

如何在集线器类之外获取 SignalR 用户连接 ID?

如何从 RouteData 获取路由名称?

通过 jQuery 调用 ASP.NET 服务器端方法

如何设置asp.net身份cookie过期时间

是否应该将 project.lock.json 文件签入源代码管理? (ASP.NET 核心 1.0)

如何将枚举类型绑定到 DropDownList?

测试 Web 表单应用程序 (ASP.NET) 的最佳方法是什么

回发后 Document.Ready() 不起作用

ASP.net 中是否有 after Page_Load 事件

如何保护存储在 web.config 中的密码?

ASP .NET 单例

在资源文件中使用 HTML

避免将重复元素添加到列表 C#

路由模板分隔符/不能连续出现 - 属性路由问题

IIS - 无法通过 ip 地址而不是 localhost 访问页面

Windows 身份验证在本地 IIS 7.5 上不起作用.错误 401.1

.Net 上是否有 URL 验证器?