我正在使用带有asp.net身份版本2.2.1和实体框架6.1.3的asp.net MVC 5.2。 在某些时候,在控制器中,我需要知道当前正在使用的AuthenticationProperties的内容,更具体地说,我需要知道isPersistent的值。
答案 0 :(得分:0)
可能会有所帮助:
var isPersistent = ((System.Web.Security.FormsIdentity) User.Identity).Ticket.IsPersistent;
或者
FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
var isPersistent = ticket.IsPersistent.ToString();
答案 1 :(得分:0)
您可以通过调用AuthenticationProperties
通过AspNet.Identity
来访问当前会话的AuthenticateAsync()
的内容。此处的表单身份验证不相关,因为会话属于Identity
。
要获取整个AuthenticationProperties
对象:
@using Microsoft.AspNet.Identity;
@using System.Threading.Tasks;
public async Task<ActionResult> SomeMethodName(...) {
{
var authenticateResult = await HttpContext.GetOwinContext()
.Authentication.AuthenticateAsync(
DefaultAuthenticationTypes.ApplicationCookie
);
您拥有authenticateResult
,提取属性值(在您的情况下为IsPersistent
)的语法为:
var isPersistent = authenticateResult.Properties.IsPersistent; //// true or false