0

come コード (MVC Web アプリ) を継承しましたが、起動に問題があります。

次の 2 行が存在します。

var claimsPrincipal = principal as IClaimsPrincipal;
if (claimsPrincipal == null)
    throw new ArgumentException("Cannot convert principal to IClaimsPrincipal.", "principal");

principalIPrincipal(この場合は a )System.Security.Principal.WindowsPrincipalであり、null ではありません。

最初の行はclaimsPrincipalnull に設定されるため、例外がスローされます。ある時点で誰かのために機能したに違いないと思います。これはソース管理からの新しいコピーです。このキャストが null を返すのはなぜですか?

4

2 に答える 2

0

principal実はそうかもしれませんnull。それをデバッグしましたか?

principalの型がインターフェイスを実装しているかどうかを確認しIClaimsPrincipalます。

于 2013-01-09T03:35:28.967 に答える