問題タブ [authorize]

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

asp.net-mvc-2 - MVC2 AuthorizeAttribute-ここで何が起こっているのですか?

バックグラウンド

プロジェクトレベルのweb.configファイルでフォーム認証が有効になっているMVC2プロジェクトがあります。

カスタムMembershipProviderもそこで宣言されています:

[承認]属性で装飾されたインデックスアクションがあります。

流れを感じる

プロジェクトをデバッグすると、最初にweb.configで指定されている〜/ Account/LogOnコントローラー/アクションにリダイレクトされます。

注:この時点で、コントローラーの「ユーザー」プロパティはNullです。

ModelStateを確認した後、それは私のMembershipService、別名AccountModels.ValidateUser(username、password)に移動します。

これはMagicMembershipProvider.ValidateUser(username、password)に行きます:

最終的にBaseMembershipProvider.ValidateUser(username、password)に移動します。

サーバー変数は、すべての呼び出しをインターセプトして認証を行うカスタムisapi.dllによって早い段階で設定されます。そこに値がある場合、ユーザーは本物と見なされます。このメソッドは単純なブール値を返します。NO WHERE ELSE IN MY CODEは、この変数が参照または渡されます。

このブール値は、(より適切な単語がないために)実行ツリーに戻され、LogOn(string returnUrl)すべてを開始した元のメソッドに戻されます。

キッカー

さて、この時点で、どういうわけか魔法のようにUserプロパティはnullではなくなり、User.Identity.Nameプロパティはサーバー変数からMagicUserNameに設定されます。 私はこれをしませんでした

どうした?

この動作は私が望んでいるものではありませんが、フレームワークにこれを行うように指示したことがないため、どこで/どのように停止するかわかりません。デフォルトのAuthorizeAttribute実装のどこかにあると思いますが、チェックしたこのランダムなサーバー変数を使用することをどのようにして知ることができますか?

どんな照明でも大歓迎です。

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

asp.net-mvc - asp.netMVCで属性とjqueryAJAXを承認します

jqueryajax関数を使用してフォームを送信しました。ユーザーはログインする必要があります。そうでない場合は、ログインページにリダイレクトする必要があります。Authorize()属性を使用しました。

ユーザーがログインしていない場合、アクションはログインページをjqueryのajax関数に戻し、同じページに表示されますが、ユーザーをログインページにリダイレクトしたいと思います。解決策はありますか?

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

cancan - スプリーカスタムロール権限

私は、特定の権限の範囲内でいくつかのカスタムロールを与えようとしています。どこでもこの答えを見つけることができません

role_ability.rb

これは、「マネージャー」の役割を持つユーザーに製品と他の特定のモデルのみを管理させるという一般的なアイデアかもしれないと思いました...

変えたら

期待どおりに動作します...すべての管理領域にアクセスできます

私は「小売業者」が製品を管理できるようにしたいだけです!;)

「admin」はユーザーに関連付けられた役割のみです。つまり、すべての役割はユーザーです。

あなたはおそらくこれがどこに向かっているのかを見ることができます、小売業者は彼ら自身のアイテムにサインアップして売ることができます..まあそれが目標です。

ポインタはありますか?

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

c# - Authorize を使用すると IE が無限にループする

私は Facebook アプリを開発しています。訪問者が Facebook を通じて承認されている場合にのみ、特定のビューへのアクセスを許可したいと考えています。これは非常に単純な作業であるはずであり、IE で試してみるまではそうだと思っていました。次のコードは、Chrome と Safari で正常に動作します。フォーム認証を使用したいので、設定しました

web.config で。これにより、アプリに入ると、訪問者は次の ActionResult に誘導されます。

次に、ユーザーは Facebook ページにリダイレクトされ、アクセス トークンが OAuth ActionResult に送り返されます。

ここでやろうとしているのは、リダイレクトから返されたトークンが有効かどうかを最初に確認することです。そうである場合は、FacebookID や名前など、訪問者に関するデータを取得します。次に、それをデータベースと照合して、ユーザーが既に存在するかどうかを確認し、存在しない場合は作成します。また、カスタム ロール プロバイダーでユーザーにロールを割り当てますが、この前に無限ループの問題がありました。それから私は設定しました

これが、訪問者が許可されているかどうかを追跡するための核心であると思います。私が理解している限り、訪問者が [Authorize] を必要とする ActionResult を呼び出そうとすると、システムはこの Cookie をチェックします。

上記のコードが Chrome/Safari で機能しているのに、IE でログインと OAuth を無限にループし続ける理由を誰かが明確にしてくれませんか?

私のアプリは MVC 3、EF Code First、および Facebook C# SDK 5.0.25 を使用しています。

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

asp.net-mvc-3 - 許可の例外

コントローラーに権限アノテーションをタグ付けしましたが、メソッドの 1 つを免除したいのですが、それは可能ですか? どうやって?

0 投票する
4 に答える
1037 参照

asp.net - asp.net mvc3、認証方法を教えてください。

友達のために「マイ アカウント」アプリケーションを作成する必要があります。asp.net MVC 3 を使用する予定です。

ユーザーを認証するには、サードパーティの API を使用する必要があります。これが通常の Web アプリケーションであれば簡単です。サードパーティの API を使用してリクエストを送信し、レスポンスを取得します。これが許可されたユーザーである場合は、セッションを作成します。すべての保護されたページで、セッションが存在する場合はセッションを確認し、コンテンツを表示し、そうでない場合はログインページにリダイレクトします。

私はおそらく私の mvc3 プロジェクトで同じことを行うことができますが、それは間違いなく間違ったアプローチであることを知っています. MVC3 は非常に柔軟です。それを行うためのより良い方法があるはずです。サードパーティの API から応答が返ってきた後。その後どうすればいいですか?できればいくつかのコードを教えてください。

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

jquery - mvc 3、jquery ajax & フォーム認証

私の MVC3 プロジェクトには、[Authorize] 属性を持つコントローラーがあります。ユーザーがログインしていない場合、(予想どおり) ログイン画面にリダイレクトする ajax を使用しないフォーム送信があります。

ただし、jquery ajax で送信されたフォームがあり、どうすれば同じことができますか? ユーザーが承認されていない場合、ユーザーをログイン画面にリダイレクトしますか? ログインに成功すると、ユーザーは最初のアクションにリダイレクトされます。

コントローラ

クライアント JQUERY

サーバーが返すことをfirebugコンソールウィンドウから見ることができます:

あなたの助けを楽しみにしています!

可能な解決策で更新

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

asp.net-mvc-3 - 特定のコントローラーの下ですべてのアクションを承認します(例:adminController)

adminControllerの下ですべてのアクションを承認したい。どうやってやるの。ロールとユーザーのデータベースがあります。1.管理者2.メンバー

管理者だけがadminControllerのすべてのアクションにアクセスできるようにしたい。

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

c# - MVC3 のカスタム Authorize ロールの設定

現在、私のコントローラーは次のようになっています。

[Authorize]各アクションだけでなく、コントローラー自体にもデコレーターを適用できることをオンラインで読みました。

カスタムデコレータを宣言する方法はありますか?私はそれを次のように呼びます:

あるいは、それは面倒すぎるかもしれません。新しいデコレータを作成して、次のように呼び出してもかまいません。

次に、ログインしているユーザーがロールに含まれているかどうかを確認するカスタム クラスを作成します。

これにアプローチする方法について何か提案はありますか?