【发布时间】:2016-06-03 22:04:30
【问题描述】:
我已按照guide 向 IPrincipal 添加自定义属性。
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
{
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
JavaScriptSerializer serializer = new JavaScriptSerializer();
CustomPrincipalSerializeModel serializeModel = serializer.Deserialize<CustomPrincipalSerializeModel>(authTicket.UserData);
CustomPrincipal newUser = new CustomPrincipal(authTicket.Name);
newUser.UserId = serializeModel.UserId;
newUser.FirstName = serializeModel.FirstName;
newUser.LastName = serializeModel.LastName;
HttpContext.Current.User = newUser; /This line makes an error.
}
}
这是出错的最后一行。
无法将类型“SocialMedia.Models.CustomPrincipal”隐式转换为“System.Security.Principal.IPrincipal”。存在显式转换(您是否缺少演员表?)
为什么它不工作可能是什么问题?
【问题讨论】:
-
你如何声明
CustomPrincipal类?
标签: c# .net model-view-controller iprincipal