問題タブ [custom-authentication]

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 に答える
414 参照

authentication - 応答が返される WSO2 Identity Server 認証

「AuthenticationAdmin」サービスを使用してユーザーを認証するLiferayのカスタム認証システムがあり、サービスメソッド「login()」はブール値の応答のみを返します.I

私の場合、呼び出し元の Web アプリケーションがこのログイン方法から詳細を知るようにしたい..認証されたユーザーのアプリケーションで必要ないくつかの変数、たとえば認証後の LDAP からの「isEnabled」、「customattr」などのユーザー属性など。

WSO2 Authenticator からいくつかの応答を返すことはできますか? WSO2 IS からこれをどのように達成できますか?

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

asp.net-mvc - asp.net mvc、複数の CustomAuthorize ロール プロバイダー

ユーザーと管理者がコントローラー全体を表示できるが、管理者のみが作成、削除、および編集できる各方法にアプリケーションをロックダウンしようとしています。

メソッドを保持する CustomAuthorize クラスを作成しました。

私の RoleProvider クラス:

私のデータベースには、Role と RoleID を列として保持する Roles テーブルがあり、2 つの値が Administrator と User で、roleID が PK で、1 = Administrator & 2 = User です。UserID、Username、および role_RoleID を含む、Users という別のテーブル

ユーザーを role_RoleID に 1 (管理者) として割り当て、使用してコントローラーをロックダウンすると、

[CustomAuthorize(Roles = "管理者"]

これは機能します。

role_RoldID = 2 を割り当て、以下を使用してロックダウンすると:

[CustomAuthorize(Roles = "ユーザー"]

これはうまくいきませんか?

また、もう 1 つの質問は、コントローラーに 2 つのロールを割り当てるにはどうすればよいかということです。次に、各メソッドを 1 つのユーザー ロールにロックダウンしたいと考えています。

それが理にかなっていることを願っています。誰かが私を助けてくれることを願っています。

ありがとう

スティーブン

基本的に [CustomAuthorize(Roles = "Administrators, Support")] 、両方のロールがコントローラーを認識できるように、コントローラーをロックダウンしました。

次に、私が持っている作成/削除および編集メソッドがあります:

したがって、基本的にはコントローラー全体を両方のロールに表示したいのですが、作成/編集/削除できるのは管理者だけです。

user テーブルに roleID = 2(User) を割り当てると、そのユーザーのアプリケーション全体が壊れます。RoldID = 1 (管理者) を割り当てると、roldID 1 が割り当てられているすべての人に対して機能します。

現在、私はメソッドを持っています

IsUserInRole メソッドを変更して、配列パラメーターを次のように処理する必要があることはわかっています。public override bool IsUserInRole(string username, string[] roleName)

しかし、linq と主に IsUserInRole メソッドでそれを処理する方法がわかりません。

現在、私が信じているwhere句で、GetRolesForUserメソッドで失敗しています。

ここで、user.role.RoleID == r.RoleID

エラーメッセージは以下に表示されます。

このコマンドに関連付けられた開いている DataReader が既に存在し、最初に閉じる必要があります。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.InvalidOperationException: このコマンドに関連付けられている開いている DataReader が既に存在します。これを最初に閉じる必要があります。

ソース エラー:

66 行目: var roles = user.UserRoles の ur から 67 行目: db.Roles の r から 68 行目: user.role.RoleID == r.RoleID の場所

ありがとう

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

asp.net - HttpModule によるサービス初期化関数の呼び出し

認証なしで完全に正常に動作する WCF データ サービスを作成しました。次に、以下のようにアプリケーションに HttpModule を追加して、認証コードを追加したいと思いました。

ここで、BasicAuthenticationModule は web.config に次のように登録されます。

ブラウザで WCF Data Service を実行すると、認証ウィンドウが表示されます。無効な資格情報を入力すると、正しい資格情報を要求し続けます。正しい資格情報、つまり Administrator/SecuredPassword を入力すると、ウィンドウが閉じて空のページが表示されます。ページのソース コードは次のとおりです。

コードをデバッグすると、HttpModule を追加する前に呼び出されていた WCF Data Service の Initialize メソッドが呼び出されないことがわかりました。

コントロールが Initialize メソッドに渡されない理由がわかりません。実行するには明示的に何かを追加する必要がありますか??

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

wcf - WCF のカスタム認証、承認、およびセッション

組み込みの .NET および WCF 機能の再利用から始まり、完全なカスタム実装で終わる、WCF の認証と承認のさまざまな実装について読みました。

しかし、考慮すべき要素が非常に多いため、イントラネットのビジネス アプリケーション プロジェクトにどのように実装するかについて混乱しています。

必要なものは次のとおりです。 - WCF .NET 4.5 サービスは、IIS 7 以降でホストされます。

  • おそらく、ASP.NET 互換性は無効になります。

  • プロトコルは BasicHttpBinding を使用した HTTP になりますが、トラフィックを最小限に抑えるためにバイナリ シリアル化が必要になる場合があります。

  • WCF メソッドは、データベース内のユーザー セッション オブジェクトに対してチェックされるカスタム セッション ID を受け取ります。このプロジェクトでは、.NET セッションは許可されていません。

  • ID を受け取った後、サービスは対応するユーザー データ (ユーザーが現在の操作を実行できるかどうかを確認するための承認フラグを含む) を読み取り、それを検証します。データが無効な場合、例外がスローされ、WCF 操作は実行されません。検証が成功すると、ユーザーの ID が現在の操作コンテキスト (および現在のスレッド プリンシパル) に格納されるため、WCF 操作の実行中にさまざまなコンポーネントからアクセスできます。

  • すべての認証と承認は、WCF 操作の実行前に透過的に行う必要があります。WCF メソッドを作成するプログラマーによる追加の作業は必要ありません。

  • 認証検証を実行するときに、実行中の WCF 操作名にアクセスする必要があるため、ユーザーが操作を実行する権限を持っていない場合に例外をスローできます。

  • テスト担当者は SoapUI を使用するため、標準の SOAP または HTTP ヘッダーを介してセッション ID を渡すことができる必要があります。

認証ルーチンを実装する最も簡単な方法はどれですか? カスタム バインドを使用する必要がありますか? カスタム動作?ある種の組み込みの要求イベント ハンドラー (正確にはどれで、ASP.NET 互換性が無効になっている場合に機能しますか)? 承認ポリシー (組み込み機能のほとんどを使用しないため、少し過剰に思えます)? 他の何か?

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

asp.net-mvc - MVC 4 アプリケーションのカスタム承認属性を作成するにはどうすればよいですか?

この質問には多くの重複があるかもしれません。しかし、MVC のデフォルト メンバーシップを無視し、Cookie を使用してカスタム ログインを使用しました。そのため、サンプルのようにカスタム承認属性を作成することはできません。私はこのようなユーザーモデルを持っています:

ここに私のログインアクションがあります:

RoleIdでカスタム承認属性を作成する必要があります。ちなみに、私 bool UserInRole(roleId), bool IsUserAuthenticated()は準備ができているメソッドを持っています。

下手な英語でごめんなさい。

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

authentication - Symfony2カスタム認証プロバイダーの不正なクレデンシャル

symfony Webサイトのクックブックにほぼ準拠して、外部APIを使用するためのカスタム認証プロバイダーを実装しています。ほとんどすべてが正しく機能し、リスナーはログインフォームを適切にリッスンし、認証されたトークンを返す認証関数を呼び出します。問題は、認証されたトークンをsecurityContextInterfaceに設定しても、システムが間違ってログインページに戻ることです。資格情報。私が使用したコードの下でそれは何でしょうか?

security.yml

services.yml

ApiFactory.php

ApiListener.php

私が書いた場合:

結果は次のとおりです。

だからそれは正しい。

ApiUserToken.php

ApiProvider.php

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

asp.net-mvc - コントローラーでカスタム認証を取得した後、1 つのアクションにパブリックにアクセスしますか?

私は MVC 3 を使用しており、コントローラーで AuthorizeAttribute を継承するカスタム認証属性を持っています。ただし、あるケースでは、認証なしでこのコントローラーから 1 つのアクションにアクセスしたいと考えています。出来ますか?

そのコードはすでに運用されているため、コントローラーファイルに変更を加えずに実行したいと考えています。Web 構成からオーバーライドする方法はありますか。

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

wcf - UserNamePasswordValidator で WCF 要求パラメーターを取得する

WCF サービスを備えたステートレス サーバーがあります。サーバーは複数の DB 接続を持つことができます。したがって、WCF リクエストごとに DB 接続を提供する必要があります。これは request オブジェクト内で行います。したがって、サーバーへのすべての WCF 要求には、DB 接続に関する情報が含まれています。これは、関数の操作コントラクトです。

これは、リクエストのデータ コントラクトです。

ここで、WCF サービスのカスタム認証が必要です。そこで、UserNamePasswordValidator から継承した CustomUserNamePasswordValidator を実装しました。ユーザー名とパスワードを取得します。ユーザーはDBに格納されます。したがって、認証のために DB リクエストを行う必要があります。問題は、サーバーがどの DB を使用する必要があるかがわからないことです。この情報は WCF サービス関数の要求オブジェクトで送信されるためです (上記を参照)。

UserNamePasswordValidator の実装で、呼び出された WCF サービス関数のパラメーター (要求オブジェクト) を取得する方法はありますか?

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

c# - カスタムのユーザー名/パスワード検証を使用した C# WCF セッションベースのサービス: 構成の問題

私はstackoverflowですでに投稿された多くの回答を検索しましたが、提案された解決策のどれもこれまでのところ私の問題を解決しませんでした. これは調査とトラブルシューティングの 2 日目で、結果は出ていないので、他の人に助けを求めるところまで来ました。WPF データベース アプリケーションを開発しており、WPF アプリケーションとデータベースの間に中間層 (WCF) を追加したいと考えています。

WCF サービスには 2 つのサービス コントラクトがあり、どちらもカス​​タム ユーザー名/パスワード認証が有効になっています (セッションも必要です)。最初のサービス コントラクト (IAppUserService) は、ローカル ユーザーによって実行される WPF アプリケーションを提供し、2 番目のサービス コントラクトは、顧客がアクセスできる Web サイト (IAppClientService) を提供します。

次のソースコードを含めました。

DCMAppService.svc.cs

サービスの Interface ファイルには、次のものが含まれています。

IDCMAppService.cs

これには、WCF が提供する必要がある2 つの異なるサービス コントラクト(ユーザー用とクライアント用) が含まれていることに注意してください。

Web.config ファイルには、次のものが含まれています。

応答として得られるのは、古典的なメッセージを含むエラー ページです。

このサービスのメタデータの公開は現在無効になっています。

それを解決する方法が見つからないので、これは非常に面倒です。

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

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

authentication - ServiceStack、認証属性

独自の認証を作成しようとしているので、Authenticate メソッドを継承CredentialsAuthProviderしてオーバーライドしました。認証は正常に機能しています。別のサービスを呼び出すと、セッションに保存したすべてのデータが表示されます。

問題は次のとおりです。認証属性を追加してクライアントから呼び出そうとすると、要求された役割を使用したい場合でも、承認されていない例外がスローされます。

認証サービスは次のとおりです。

AppHost は次のとおりです。

およびテスト サービス:

これは実際のコードではないので、構文ミスは申し訳ありません!)))) しかし、考え方は同じです! 何が問題なのか教えてください。テスト サービスを呼び出したときに Unauthorized 例外が発生したのはなぜですか??????????