問題タブ [principalcontext]
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.
c# - Windows XP では PrincipalServerDownException が発生するが、Windows 7 では発生しない
完全な信頼で実行される WPF アプリケーションがあります。
アプリケーションの一部は、Windows AD グループのメンバーシップをチェックします。
これは、Windows 7 マシンでは正常に機能しますが、Windows XP マシンでは機能しません。
エラーは次の行で発生します。
c# - PrincipalSearcher.FindAll() 使用時のメモリ リーク
私もプラグインとアプリドメインを使用して長時間実行されているサービスを持っており、ディレクトリサービスを使用しているためメモリリークが発生しています。私は system.directoryservices.accountmanagement を使用していることに注意してください。ただし、同じ基礎となる ADSI API を使用しているため、同じメモリ リークが発生しやすいことを理解しています。
私はすべての CLR メモリ カウンターを調べましたが、メモリはそこでリークされておらず、強制 GC またはアプリドメインをアンロードしたときにすべて返されます。リークは、継続的に増加するプライベート バイトにあります。ここで検索したところ、ADSI API を使用する際のメモリ リークに関連する問題がいくつか見られましたが、ディレクトリサーチャーを反復処理するだけで問題が解決するようです。しかし、以下のコードでわかるように、私は foreach ブロックでそれを行っていますが、それでもメモリ リークが発生しています。助言がありますか?これが私の方法です:
foreach ループに次の変更を加えたところ改善されましたが、プライベート バイトは依然として大きくなり、回収されることはありません。
c# - web.config を使用したプリンシパルコンテキストの構成
次のコードを使用して、グループ メンバーシップを取得できます。
パスワードが変更されたときにコードを変更する必要がないように、この管理者ユーザー名のパスワードをweb.configに移動したいと思います。
c# - 複数の文字列を含むように PrincipalSearcher にクエリを実行する
Active Directory にクエリを実行して、Users や Administrators などの特定の単語を含むすべてのグループのリストを取得できるようにしたいと考えています。
このコードは、管理者またはユーザーではないグループ名を除外していないようです。とにかく、私が理解できないのは、グループ名に含まれているかどうかを照会する方法です? グループ名が等しい場合ではなく、複数の文字列でこれを行う方法。
DirectoryEntryでも同じことができるので参考までに載せておきます
c# - GroupPrincipal グループ名の変更
グループの名前を変更しようとしています。私のコードは次のようになります
問題は、クラッシュしgroup.DisplayName = "NewGroupName";
て例外をスローすることです
プロパティは、このストア タイプには無効です。
その行をコメントアウトすると、コードは実行されますが、表示名を変更したいと思います。私はいくつかの研究を行い、これを見つけました。ただし、Framework 4.0 を使用しています。これを行う方法を誰かが知っていますか、それとも間違った方法で行っていますか?
c# - ユーザードメインを取得してprincipalcontextasp.netを作成する方法
.Net4.0の使用PrincipalContextを作成するためのコード行は次のとおりです。
しばらく前に、ドメイン名を指定する必要はなく、代わりにシステム変数またはhttpcontext変数を使用してドメイン名を渡すコードスニペットを見ました。user.logondomainのようなものでしたが、もう見つかりません。それはuser.identity.nameからドメインを取り除くことではありませんでした。
これは、ASP.NETWebアプリでWindows認証を使用しています。
c# - Active Directory でのクエリの PrincipalContext
Active Directory からいくつかの簡単なレポートを作成したいと考えています。ディスカッションなどを行った結果、.NET FW 3.5 以降を使用する場合は、.NET FW を使用するのが適切であることがわかりましたPrincipalContext
。原則と、この新機能でできることを理解したいと思います ( とは異なりDirectoryEntry
ます )。
コードスケルトン
LDAP へのログイン用にこのプロパティをコードに追加することは可能ですか?:
- どの LDAP が使用されているか (バージョン 2 または 3)
- LDAP が実行されているポートを設定する方法
- SSL 接続が必要な場合はどうすればよいですか? (別のポート、特別な要件でなければなりません)
また、AdvancedSearchFilter
この条件でいいですか?
(私は と のみを見つけましAccountExpirationDate
たAccountLockoutDate
)
- ユーザーのパスワードは近いうちに期限切れになります
- ユーザーのパスワードの有効期限が切れています
- ユーザーのパスワードの有効期限が切れるかどうかを確認する
- ユーザー アカウントの有効期限が切れる (アカウント、パスワードなし)
- 期限切れのユーザー アカウント (アカウント、パスワードなし)
- ユーザー アカウントの有効期限が切れていない
c# - Active Directory PrincipalContext.ValidateCredentials (次回ログイン時のパスワード変更ポリシーが有効な場合)
System.DirectoryServices.AccountManagement名前空間のクラスを使用して 、Web アプリケーションから Active Directory とやり取りしています。Active Directory に対してユーザー資格情報を認証するには、次のコード行を使用します。
ここで、principalContextは PrincipalContext インスタンスです。authSucceededは、提供された資格情報でユーザーが認証されると true になります。ただし、 「次のログイン時にパスワードを変更する」ポリシーがアクティブな場合、このメソッドは失敗します。これらのユーザーは、パスワード「Abcd_10」で作成されていても認証されません。
この状態でユーザーを認証して、パスワードの変更画面にリダイレクトできるようにする方法を知っている人はいますか? 他のすべてのタスクのコードを作成しました。しかし、これだけが欠けています。
単に私はその理由を知る必要があります
パスワードが正しくない/無効なユーザー名/ユーザーが非アクティブ化されている、または私の要件(パスワード変更のために認証されているか)などの理由で、メソッドがfalseを返しました
何かアイデアがあれば、共有してください..
c# - UserPrincipal SetPassword メソッドの使用中に AccessDenied が発生しました
UserPrincipalクラスを使用してユーザーのパスワードを変更しているときに、AccessDenied例外が発生します。
Windows 認証 (ドメイン ユーザー)を介して Asp.Net アプリケーションにログインしています。他のユーザーのパスワードを変更しようとすると、アクセス拒否の例外が発生します。ログインしているユーザーと同じことをしている場合、すべて問題ありません-パスワードを変更できます。
PrincipalContextを使用してUserPrincipalオブジェクトを取得する場合、「プリンシパル - domain\adminAD」が AD で特権を持っていることは何でもすると思いました。
メソッドの本体:
私はすでに答えを探しており、同様のトピックに対する答えがたくさんあることを知っています. しかし、それらのどれも私の問題を説明していないと思います。