問題タブ [principal]

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 投票する
1 に答える
602 参照

asp.net - ロール、メンバーシップ、プロファイル、プリンシパル、およびフォーム認証

カスタム SQL メンバーシップとロール プロバイダーで保護しようとしている Web アプリケーションの関係と階層を泳いでいます。私は、フォーム認証、プリンシパルなどについて少し曖昧です。そう -

web.config は、カスタム メンバーシップ プロバイダーとカスタム ロール プロバイダーを使用したフォーム認証用に設定されています。

架空の Web アプリが起動すると、カスタム メンバーシップ プロバイダーのメソッドを使用して、データベースからのユーザー ログインが検証されます。

この時点で、providerUserKey をプリンシパル オブジェクトに貼り付けて、暗号化して Cookie に保存していると思いますか?

既存のシステムの別のテーブルへの外部キー (ID) など、ユーザーに関する他の情報を各ページに含めたい場合、データベースへのラウンドトリップを回避するためにそれを保持する最良の方法は何ですか?

この追加フィールドを含めるようにプリンシパルを拡張する必要がありますか? この追加フィールドを含めるためにメンバーシップ オブジェクトを拡張する必要がありますか? カスタム プロファイル プロバイダーを作成し、それを使用して追加のフィールドを格納する必要がありますか?

これらの識別可能な情報はすべてどこに保存されていますか? ユーザーがログインすると、カスタム プロファイル プロバイダーにはデータベース ラウンド トリップなしでアクセスできると想定していました。

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

c# - Windows フォーム アプリで VPN ユーザーの現在のユーザー ID を取得するにはどうすればよいですか?

現在、AD グループ メンバーシップを使用してユーザーを認証する必要がある Windows スマートクライアントを開発しています。

現在、一部のユーザーが VPN 経由で接続する必要があります。VPN ログインから AD アカウント ID とグループを取得する方法はありますか?

WindowsIdentity.GetCurrent() は、VPN アカウント情報ではなく、ローカル ユーザー アカウントを返します。

ローカル アカウント名は、VPN 接続に使用される AD アカウントとは異なります。つまり、ユーザーは自宅の PC を使用しており、職場の AD アカウントを使用してオフィスに接続しています。

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

asp.net - アプリケーション全体で使用する Thread.CurrentPrincipal を設定する方法は?

ASP.net アプリケーションでは、私が作成したカスタム メンバーシップ プロバイダーで Login コントロールを使用しています。私がやりたいことはThread.CurrentPrincipal、ユーザーが認証された直後に、カスタム プリンシパル オブジェクトに設定することです。

私はセッターを使用しています。Thread.CurrentPrincipalそれは私のためにプリンシパルオブジェクトを設定しますが、すべての後続スレッドで、この CurrentPrincipal はデフォルトのものでオーバーライドされます。

ログイン コントロールの Authenticate イベントのコードは次のとおりです。

たとえば、ユーザー名 A でログインすると、すべてがうまくいくと想像してください... 検証はパスしますが、オブジェクトとして設定したプリンシパル オブジェクトに設定された Identity オブジェクトで、ユーザー名 B を使用してユーザーをハードコードしCurrentPrincipalます。

このメソッドの最後でどのユーザーがCurrentPrincipalID に設定されているかを確認すると、それはユーザー B であるCurrentPrincipalと表示されます。

CurrentPrincipalでは、オブジェクトを他のすべてのスレッドで永続化するにはどうすればよいですか? また、このログイン コントロールはいつどこでCurrentPrincipalスレッドのオブジェクトを設定するのでしょうか?

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

apache - mod_jkを使用したApache基本認証(basic-auth)の後、要求にプリンシパルがありません

環境

Apache 2.2.13は、mod_jk(ajp13)を使用してTomcat5.5に接続します。Apacheには、「/」、つまりサービスを提供するすべてのURLの基本認証が必要です。

問題

リクエストがTomcatのアプリ(サーブレットフィルター)に到着すると、request.getUserPrincipal()nullを返します。ただし、Apacheはリクエストを認証しました。ブラウザのダイアログにユーザー/パスワードを入力しました。

何か案は?

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

c# - GroupPrincipal および SAM PrincipalContext での説明できない InvalidOperationException

次のようなプリンシパルを作成しようとしています。

ただし、コードが実行されると、次の例外メッセージが表示されます。

System.DirectoryServices.AccountManagement: プロパティは、このストアの種類に対して有効ではありません。

プロパティを設定しない場合Description、上記のコードは完全に正常に機能しますが、グループの説明がありません。

私は何か間違ったことをしていますか?

前もって感謝します。

編集: これに対する回避策を見つけたと思います(興味のある人なら誰でも)。グループは上記と同じ方法で作成できます。

DirectoryEntry次に、次のように を作成し、新しく作成したグループにリンクします。

これにより、そのグループのプロパティにアクセスできますが、私が興味を持ったのは説明です。

そして、それはそれを行う必要があります。

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

java - プリンシパルにアクセスするSpringセキュリティ

スプリングセキュリティを使用する場合、特に@notationを使用する場合。コントローラのプリンシパルにアクセスする適切な方法は何ですか?以下が私のコントローラーだとしましょうが、どこかでsecure()メソッドのプリンシパルにアクセスしたいと思います...

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

wcf - WCF RESTful サービスのクレームベース認証

ASP.Net Web サービスと WCF RESTful Web サービスの SAML トークン ベース認証のソリューションをまとめるため、さまざまなサンプルを試してきました。

私はそれぞれの障害物を乗り越えて戦ってきました、そして私はそれを味わうことができるほど近づいています. 私が手に入れた最新のブロックはこれです:

通常の WebServiceHostFactory を使用すると、カスタム承認ポリシーが適用され、Thread.CurrentPrincipal は、HttpModule が HttpContext.Current.User に設定した値を取得することになります...しかし... WebServiceHost2Factory を使用すると (つまり、REST スターターから) Kit) を使用して自動ヘルプ エンドポイントなどを取得すると、認証ポリシーは適用されず、Thread.CurrentPrincipal は、HttpModule で設定した ClaimsPrincipal とはまったく関係のない RoleProviderPrincipal のインスタンスになります。 -(

WebServiceHost2Factory をカスタム/オーバーライドされたプリンシパルとうまく連携させる方法についての考え、アイデアはありますか?

ありがとう、

タイラー

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

c# - System.DirectoryServices.AccountManagement.PrincipalにnullGUIDが含まれることはありますか?

ActiveDirectoryユーザーアカウントを指すグローバル一意識別子を保存する必要がある状況があります。Sidよりも保存が簡単なため、 Guidに傾いています。

MSDNエントリによると、 ContextTypeが "Machine"に設定されている場合、プロパティ(Nullable)は常にnullを返します。ContextTypeは常に「ドメイン」に設定されるため、これについて心配する必要はありません。

私の質問は、ContextTypeが "Domain"の場合、このプロパティはnullを返すことはありますか?つまり、AD DSストアのアカウントには常にGUIDがありますか?

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

.net - WindowsユーザーのIDレベルのトークンを取得しますか?

特定のユーザーのWindowsIdentityを作成したいと思います。グループメンバーシップのチェックのためだけに、なりすましには必要ありません。ドメインがある場合とない場合で動作する必要があります(S4U Kerberos委任のものはありません)。ユーザー名を取得するWindowsIdentityのコンストラクターは、ドメインシナリオでのみ機能するようです。

WindowsIdentityにアクセスチェックを実行させる他の方法はありますか?私が持っている最善の回避策は、DirectoryServices.AccountManagementを使用してユーザーを見つけ、グループを列挙することです。

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

asp.net-mvc-2 - ASP.NET MVCでカスタムプリンシパルとIDを実装するにはどうすればよいですか?

認証されたユーザーに追加情報を保存して、名前だけでなく、簡単にアクセスできるようにします(たとえば、User.Identity.Idなど)。これは、一意ではないものにすることを計画しているためです。

これまでのところ、カスタムのプリンシパルやIDの実装を検討する必要があることを確認しましたが、その方法がわかりません。私はこの問題に関するドキュメントとチュートリアルを探していましたが、さまざまな場所で関連するものを見つけ、少し混乱していることがわかりました。

ユーザーデータプロパティの認証Cookieにカスタム情報を追加する方法を見てきましたが、単体テストの依存性注入の利点を利用したいと思います。これは、プリンシパルとIDで行うことができます。

自分のプリンシパルまたはIDを実装する場合に考慮する必要がある正確な手順は何ですか?

このシナリオで私ができる最も簡単なことは何でしょうか(IDを追加し、すべてのデフォルトをそのままにしておくだけです)。「デフォルト」には、デフォルトのプロバイダー(メンバーシップ、ロールなど)が含まれます。

他の質問も見ましたが、例のAuthenticateRequestイベントのロールマジックストリングなど、間に穴を残さない回答をいただければ幸いです。代わりに、デフォルトのSqlRoleProviderから現在のユーザーにロールを追加する方法を知る必要があります。いつどこでそれを行うか、そして新しいクラスを他のデフォルトプロバイダーに接続するために何か他のことをする必要があるかどうか。

サンプルのASP.NETMVC2アプリケーション(たとえば、Visual Studio 2010テンプレートから)にアクセスして編集を行い、それを機能させることができれば素晴らしいと思います。


編集:私はここでほとんど迷子になっていることをよりよく示すために質問を編集したので、高レベルの回答でやり遂げることはできません。

PS:ある意味、前に述べたように、プリンシパルではなくIDにIDを含める方が理にかなっているように思われます。