System.DirectoryServices.AccountManagement.GroupPrincipal の型のオブジェクトをキャストできません 質問する

System.DirectoryServices.AccountManagement.GroupPrincipal の型のオブジェクトをキャストできません 質問する

有効なドメインを持つ現在ログインしているドメイン ユーザーを取得するために、ドメイン内のメソッドを使用していますUserPrincipal.Current.ToString()。ただし、それを文字列で表示すると、IIS サーバーでホストされているときにエラーが発生します。

Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal'
           to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.

ベストアンサー1

私も同じ問題を抱えていました。ローカル マシンでは問題なく動作しましたが、サーバー上の IIS に展開すると失敗しました。最終的に、動作させるために 2 つの点を変更する必要がありました。

  1. 認証を「Windows認証」に変更します(方法

  2. 電流を使用する代わりに、2つの手順で実行します:(ソース

PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, User.Identity.Name);

そして最終的に名前 (またはその他の情報) を取得するために、 を使用しましたuser.DisplayName

おすすめ記事