問題タブ [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.
c# - フォーム認証 - 操作エラーが発生しました
私はフォーム認証を持っています:
ログインページがあり、資格情報を確認するために次のことを行います。
これは機能します。次に、メンバーグループを確認したいと思います。したがって、私は:
ローカルホストでは機能しますが、公開すると機能せず、次のエラーが発生します。
追加してみました
そしてまた
次に、プールの ID をNetworkService
andに変更しようとしましLocalSystem
たが、何も変わりませんでした。自分の PC でApplicationPoolIdentity
.. を使用してもすべてが正常に機能する理由がわかりません。
c# - ASP.NET MVC 5: アプリケーション プール、Windows 認証、および Active Directory
バックグラウンド:
外部 API に接続する MVC 5/C# アプリがあります。Active Directory
ユーザーのPrincipal Context
認証を使用します。アプリUserPrincipal.Current
は、Un/Pw コンボが Db に格納されているかどうかを確認し、後で外部 API での操作に使用できるようにします。
UserPrincipal.Current
デフォルトでアプリケーション プールの ID が返されることを理解しています。- また、Impersonate を True IIS に設定すると、次のように現在のユーザーのコンテキストが使用されることも理解しています。
<system.web> <identity impersonate="true"/>...
ただし、偽装をオン (true) にすると、次のようになります。
したがって、app pool
「クラシック」を使用するように変更します(これは、私が取るべき答えまたはパスではないと思います)。次のエラーが表示されます。
明らかに、これは IIS Express でうまく機能します。私 (ドメイン\ユーザー名) は問題なく認識されます。しかし、IIS に切り替えるか、実際の Web サーバーにデプロイすると、これらの問題が発生します。
現在のユーザー/プリンシパルを取得して、ID と資格情報を外部 API にデータベースに保存できるようにする必要があります。次に、サイト/アプリを使用すると、自動的に資格情報を使用して、必要に応じて API で作業を行います。
次のいずれかを行うにはどうすればよいですか。
- 偽装が機能するように IIS をセットアップする
- 同じことをするようにコードを調整します
jsp - pageContext.request.userPrincipalはセッションに保存されていますか? パスワードも取得できますか?
私はSpringのセキュリティを学んでいrequest.getUserPrincipal()
ます.pageContext.request.userPrincipal.name
これは私のコードです(すべてが機能しています):
私の質問は次のとおりです。
1)。この名前はpageContext.request.userPrincipal.name
セッションから取得されていますか? <%@page session="true"%>
フォームの上部にあるので
2)。パスワードも取得できますか?pageContext.request.userPrincipal.password
フォームでパスワードを取得するにはどうすればよいですか?
スプリングの本を買うお金がないので、このフレームワークを理解するためにあなたの助けを本当に感謝しています.
c# - C# Active Directory - 失敗したログイン試行のクエリ
C# を使用して Active Directory ログイン試行のリストを返す方法はありますか? たとえば、どうにかして次を含むリストを返したいと思います
- DC名
- サイト
- ユーザー状態
- 不正な Pwd カウント
- 最後の不正なパスワード
- PWD ラスト セット
- ロックアウト時間
基本的に、パスワードの更新時に、Active Directory にアクセスしているどのデバイスがパスワードのロックアウトを引き起こしているかを知りたいです。
UserPrincipal
クラスの使用を調べましたSystem.DirectoryServices.AccountManagement
が、DC 間で集約できるメソッドが見つかりません。
助けやアドバイスをよろしくお願いします!
c# - UserPrincipal から WindowsPrincipal を取得する
目標
さまざまな Windows ユーザー メカニクスを抽象化するクラスを作成しています。私のクラスは、ユーザーのアカウント名とドメインがあれば知っています。ユーザーが属するドメインまたはローカル環境の管理者権限をユーザーが持っているかどうかを示すプロパティをハイドレートしようとしています。
問題
WindowsPrincipal
クラスは を介してその情報を提供しますがIsInRole
、コンストラクターには が必要WindowsIdentity
です。これは、ユーザー プリンシパル名 (UPN) なしで確立する方法が見つかりません。ドメイン ユーザーはUserPrincipal.UserPrincipalName
プロパティを使用できますが、ローカル ユーザーは null です。WindowsPrincipal
からを取得する別の方法はありUserPrincipal
ますか? または、それなしで目標を達成する別の方法はありますか?
起源
前もって感謝します。
c# - c# UserPrincipal GetGroups は SSL を使用しません
SSL とポート 696 を介して Active Directory 操作を実行し、次のテスト コードを使用したいと考えています。
で例外が発生しp.GetGroups(context)
ます:
Ein Ausnahmefehler des Typs "System.Runtime.InteropServices.COMException" は System.DirectoryServices.dll aufgetreten にあります。
参考情報: Der Server ist nicht funktionstüchtig.
ファイアウォールでチェックした結果、最初の部分は LDAPS と SSL で処理され、getGroups 呼び出しは SSL を使用しない LDAP で処理され、ファイアウォールによってブロックされていることがわかりました。
私も試しました
と他の多くのバリエーション。しかし、私は問題を理解していません。
編集 20160614 - 回避策:
c# - UserPrincipal.FindByIdentity で COM エラー 0x80005000 が発生する
最近 .Net 4 から 4.6.1 にアップグレードした MVC イントラネット アプリがあります。このアプリは、Active Directory からユーザーの詳細を照会して、Controller の User.Identity プロパティでは利用できなかった詳細をロードします。最近まで問題なく実行されていました。コードは次のようになります。
コードは、Visual Studio 2015 でのデバッグ時には正常に実行されますが、IIS ボックス (Windows Server 2008 R2 上の v6.1 SP1) で実行されている場合、UserPrincipal.FindByIdentity() の呼び出し時に COMException (0x80005000) がスローされます。
Web アプリは専用のアプリ プールで実行されており、その設定は次のとおりです。
- .Net フレームワーク バージョン = v4.0
- ID = MyDomain\MyAppServiceUser (非インタラクティブ AD ユーザー アカウント)
- ユーザー プロファイルの読み込み = false
その他の設定はすべてデフォルトのままです。アプリケーション自体は、匿名認証と Windows 認証の両方を有効にして実行されています。サーバーには .Net 4.6.1 がインストールされており、イントラネット アプリの他のすべての要素は正常に動作しているようです。
これをグーグルで検索した結果、ほとんどの回答は、AD を照会するサービス アカウントのアクセス許可に問題があることを示しているようです。アプリケーション プールが実行されているサービス アカウントが Active Directory をクエリするアクセス権を持っていることを確認するために、上記のコードをコンソール アプリケーションで使用し、自分自身とサーバー上のサービス アカウントの両方として実行しました。インスタンスは問題なく動作します。IIS で実行している場合にのみ爆発します。
プリンシパル コンテキスト (OU コンテナー パスなどを含む) を作成するさまざまなバリエーションを試しましたが、結果は常に同じです。
私はこれに夢中になっているので、どんな助けでも大歓迎です。
更新 - 追加情報
- 例外の種類: System.Runtime.InteropServices.COMException
- 例外メッセージ: 不明なエラー (0x80005000)
- スタックトレース:
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) で System.DirectoryServices.DirectoryEntry.Bind() で System.DirectoryServices.DirectoryEntry.get_AdsObject() で System.DirectoryServices.PropertyValueCollection.PopulateList() で System.DirectoryServices.PropertyValueCollection.. System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer() の System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() の System.DirectoryServices.AccountManagement の System.DirectoryServices.PropertyCollection.get_Item(String propertyName) の ctor(DirectoryEntry entry, String propertyName) System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() で System.DirectoryServices.AccountManagement.Principal で .PrincipalContext.Initialize()。FindByIdentityWithTypeHelper (PrincipalContext コンテキスト、型 principalType、Nullable`1 identityType、文字列 identityValue、DateTime refDate) System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType (PrincipalContext コンテキスト、型 principalType、IdentityType identityType、文字列 identityValue) で System.DirectoryServices.AccountManagement.UserPrincipal Apollo.Security.ActiveDirectoryUser.Find(String identityName) での .FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue)DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) at Apollo.Security.ActiveDirectoryUser.Find(String identityName)DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) at Apollo.Security.ActiveDirectoryUser.Find(String identityName)
c# - UserPrincipal.FindByIdentity タイプ 'GroupPrincipal' のオブジェクトをタイプ 'UserPrincipal' にキャストできません
おはようございます、
Active Directory でユーザーを検索しようとしていますが、次の例外が発生します。
私のコードは次のとおりです。過去に機能していたようですが、何が変わったのかわかりません。私は凝視してデバッグしてきましたが、問題を見つけることができません。助けてください。
ここで、uContext は: "CN=Users,DC=my,DC=eh,DC=tech,DC=com"
、host は: my.eh.tech.com
、ユーザー名は:madamzuzu です。
ADでユーザーを探すと、次のように正しく表示されますDN:CN=madamzuzu;CN=Users,DC=my,DC=eh,DC=tech,DC=com
「グループプリンシパル」がどこから来ているのか理解できませんか?
asp.net - DirectoryServices.AccountManagement UserPrincipal - パスワードの変更またはリセット後、5 分間は古いパスワードが引き続き機能する
パスワードのリセットは正常に機能し、ユーザーは新しいパスワードでログインできますが、古いパスワードは引き続き機能します。古いパスワードは 5 分後に期限切れになります。ユーザーがパスワード ポリシー グループに追加されます。set password メソッドを2回呼び出して、古いパスワードの検証を停止しようとしました。ただし、パスワードの最小有効期間を 1 日に設定したためです。このトリックは機能しません。
どんな助けでも大歓迎です。