問題タブ [userprincipal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
478 参照

wcf - Windows サービスから UserPrincipal.GetGroups を呼び出すタイムアウト例外

UserPrincipal.GetGroups を呼び出す単純なコンソール アプリを実行すると、問題なくユーザー グループが列挙されます。ただし、同じサーバー上で同じユーザーと同じコードを実行すると、WCF をホストしている Windows サービスから、次の一連のエラーが発生します。

これは、WCF スレッドの偽装と関係がありますか? WindowsIdentity.GetCurrent().Name同じユーザーを返しますが、Thread.CurrentPrincipal.Identity.Name異なる - コンソール アプリの場合は空の文字列ですが、Windoes サービスの場合は偽装された WCF ユーザーです。

0 投票する
1 に答える
5185 参照

spring - Spring Security: setUserPrincipal 手動

Spring MVC および Spring Security を使用した Web アプリケーション。

UserPrincipal を手動で設定する方法はありますか?

Web アプリケーションの管理部分で別のユーザーに切り替える必要があります。私のコントローラーでは、リクエストで UserPrincipal を設定することは可能ですか? 自分が別人であるかのようにつながること。

そのように: request.setUserPrincipal().getName()

0 投票する
1 に答える
581 参照

.net - UserPrincipal.FindByIdentityは、SQL関連の呼び出しが存在する場合はnullを返し、それ以外の場合は正しいPrincipalオブジェクトを返します。

私はこの奇妙な問題を抱えています。データベース内のユーザーをActiveDirectory(AD)の電子メールグループ内のユーザーに同期するサービスを作成しようとしています。したがって、A、B、Cがデータベースにあり、Active Directoryの電子メールグループにAとEがある場合、ADを同期します。そこで、「E」を追加し、「B」と「C」を削除します。

データベースからユーザーを取得するために、SQL呼び出しを実行します。その後、ユーザーを追加しようとすると、UserPrincipal.FindByIdentityがnullになります。これが私が作成したテストコードです。

この部分は完全に機能し、「user」オブジェクトを正しく取得して、AD電子メールグループに正常に追加できます。問題は、ハードコーディングの代わりにデータベースからuserIdを取得するSQL呼び出しがある場合です。

したがって、問題のあるコードは次のとおりです。

したがって、DBからユーザーをフェッチした後、次のように呼び出します。

私の「ユーザー」はnullとして戻ってきます。

他の誰かが同じ問題に遭遇しましたか。DB呼び出しとAD呼び出しを一緒にした場合の何が問題になっていますか。つまり、db呼び出しのすべての接続を閉じてから、Active Directory(AD)にアクセスしようとします。

どんな助けでも大歓迎です。

ありがとう、ディークシャ

0 投票する
2 に答える
1665 参照

.net - 結果タイプがカスタム派生UserPrincipalであるADグループのメンバーの取得

いくつかの拡張ADプロパティを取得するために使用される独自の派生UserPrincipalタイプを作成しました。これは正常に機能します。

ここで、groupprincipalオブジェクトのGetMembers()メソッドを使用して、カスタムUserPrincipalタイプのリストを返す方法を探しています。

FindByIdentityWithTypeがUserPrincipalで機能するのと少し同じ方法で、独自のPrincipalTypeを指定できるオーバーロードがあります。

GetMembersメソッドでこれを行う方法はありますか?

0 投票する
2 に答える
5146 参照

c# - 指定された UserPrincipal のグループのリストを取得します

ユーザーが所属しているグループの一覧を取得したい。

これは私のコードです:

実行すると、行で次のエラーが発生しましたResponse.Write(p.Name);

System.Runtime.InteropServices.COMException: 指定されたディレクトリ サービスの属性または値が存在しません。

結果のカウントを確認したところ、9 が返され、最初のグループはDomainUsersでした。

リスト内の 9 つのグループすべてを反復するにはどうすればよいですか? ありがとう。

以下は、私が取得したユーザーのリストです。

ここに画像の説明を入力

0 投票する
3 に答える
1228 参照

c# - UserPrincipal を使用して AD ユーザー アカウント プロパティを変更する

UserPrincipal を使用して Active Directory のユーザー アカウント プロパティを変更しようとしています。

現在のログオン ユーザーではなく、Active Directory への書き込みアクセス権を持つ特別なアカウントを使用する必要があることを読みました。というわけで、特別アカウントを使ってなりすまし専用クラスを作成しました。しかし、私はまだ持っています

System.UnauthorizedAccessException: General access denied error

user.Save(ctx); で。ライン。

どうすればこの要件を達成できますか? ありがとう。

0 投票する
6 に答える
5195 参照

c# - PrincipalSearcher.FindAll() 使用時のメモリ リーク

私もプラグインとアプリドメインを使用して長時間実行されているサービスを持っており、ディレクトリサービスを使用しているためメモリリークが発生しています。私は system.directoryservices.accountmanagement を使用していることに注意してください。ただし、同じ基礎となる ADSI API を使用しているため、同じメモリ リークが発生しやすいことを理解しています。

私はすべての CLR メモリ カウンターを調べましたが、メモリはそこでリークされておらず、強制 GC またはアプリドメインをアンロードしたときにすべて返されます。リークは、継続的に増加するプライベート バイトにあります。ここで検索したところ、ADSI API を使用する際のメモリ リークに関連する問題がいくつか見られましたが、ディレクトリサーチャーを反復処理するだけで問題が解決するようです。しかし、以下のコードでわかるように、私は foreach ブロックでそれを行っていますが、それでもメモリ リークが発生しています。助言がありますか?これが私の方法です:

foreach ループに次の変更を加えたところ改善されましたが、プライベート バイトは依然として大きくなり、回収されることはありません。

0 投票する
3 に答える
10354 参照

asp.net - System.DirectoryServices.AccountManagement.UserPrincipal - localhost であり、iis ではない

以下のコードは、Web アプリケーション localhost を実行すると正常に動作するのに、IIS サーバーにインストールするとうまく動作しないのはなぜですか?

HttpContext.Current.UserActive Directory への追加の呼び出しなしでは SID または UPN へのアクセスは提供されないため、私が固執することを提案しないでください。

Web アプリケーションは、3 つの別個のドメインの Windows 認証ユーザーによって使用され、Web サーバーは 4 番目のドメインでホストされます。アプリケーション プールはNetworkServiceID で実行するように構成されており、Web アプリ構成では ID の偽装が true に設定されています。

IIS で実行した場合のエラー メッセージは次のとおりです。

Page_Load() のエラー: UserPrincipal.Current.
System.InvalidCastException: タイプ 'System.DirectoryServices.AccountManagement.GroupPrincipal' のオブジェクトをタイプ 'System.DirectoryServices.AccountManagement.UserPrincipal' にキャストできません。
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (PrincipalContext コンテキスト、IdentityType identityType、String identityValue)
で System.DirectoryServices.AccountManagement.UserPrincipal.get_Current()
で webapp.Details.Default.Page_Load (オブジェクト送信者、EventArgs e)

編集:次の両方を試してみましたが、残念ながら同じエラーが発生します。

0 投票する
3 に答える
4350 参照

c# - UserPrincipalを使用してローカル管理者かどうかを確認する

ユーザー名を取り込んで、そのユーザーがローカル管理者(ドメイン全体ではなく、ローカルマシンのみ)の場合はtrueを返し、それ以外の場合はfalseを返すメソッドを作成しようとしています。プロセスに管理者権限があるかどうかをIn.NET/ C#テストで見つけた手法を変更しようとしましたが、変更されませんでした。NetUserGetInfoの方法を使用してみましたが、機能させることができませんでした。今、私はUserPrincipalを使おうとしています。以下のコードは私が持っているすべてです...主に基本が機能し、それらが機能することをテストするだけです。

isMemberOfメソッドを使用できるはずですが、ローカル管理者用のグループを作成するにはどうすればよいですか?または、isMemberOfメソッドよりも優れた方法はありますか?