public class AccountsPrincipal : IPrincipal
{
...
}
public class ESchoolUserIdentity : IIdentity
{
...
}
分别实现了IPrincipal和IIdentity接口
if (Context.User.Identity.IsAuthenticated)
{
AccountsPrincipal CurrentPrincipal = (AccountsPrincipal)Context.User;//报错......
}
无法将类型为“System.Security.Principal.GenericPrincipal”的对象强制转换为类型AccountsPrincipal
之前运行都没有发生这种问题,这次莫名其妙报错,WHY?请教高手!!!
在Global中比如OnPostAuthenticateRequest事件里,确认创建了AccountsPrincipal对象并赋给了Context.User。
Context.User默认就是System.Security.Principal.GenericPrincipal