我继承了来代码(一个 MVC Web 应用程序)并且无法启动它。
这两条线存在:
var claimsPrincipal = principal as IClaimsPrincipal;
if (claimsPrincipal == null)
throw new ArgumentException("Cannot convert principal to IClaimsPrincipal.", "principal");
principal
是一个IPrincipal
(在这种情况下是 a System.Security.Principal.WindowsPrincipal
),并且不为空。
第一行设置claimsPrincipal
为 null,因此抛出异常。我假设它在某些时候一定对某人有用,这是来自源代码控制的新副本。为什么这个演员会为我返回 null ?