問題タブ [asp.net-authorization]

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

asp.net - Silverlight/.Net RIA サービス - 認証作業サンプル?

ASP.Net で Silverlight を使用する際に Ria Services が提供する機能について、数多くのチュートリアルやウォークスルー/ブログをフォローしてきました。基本的に、Ria Services が明らかに ASP.Net から取得できる認証機能の実例を探しています。(ASP.NET MVC でも動作する場合はさらに優れています)

Ria サービスの認可実装が機能しない例

このページのライブ デモ リンクに移動します....失敗します

これは機能するかもしれませんが、オフィスのコンピューターで機能させることができませんでした(理由もなくコードを壊しているように見える奇妙なセットアップ)

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

c# - ASP.NETMVC-認証リファクタリング

このコードで私が目にする問題は、それがたくさん再利用されるということです。認証されたユーザー(サイト管理者を除く)によって編集/作成されているものはすべて、その「スタジオ」オブジェクトにのみアクセスできます。

皆さんへの私の質問。これをどのようにリファクタリングして、サービス層をクライアントの知識から抽象化できるようにしますか。後でスタンドアロンデスクトップアプリケーションでサービスレイヤーを再利用する予定です。

私の間違ったやり方に光を当ててください!大変感謝しております。

AuthorizeOwnerAttribute.cs(AuthorizeAttribute)

私の「ユーザー」コントローラー内で、所有者を必要とするすべてのメソッドにこの属性をアタッチします

これで、サービスレイヤーで、渡されたIPrincipalが、要求されているオブジェクトにアクセスできるかどうかを確認しています。これは臭いがするところです:

UserService.cs

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

c# - 認証されていない ASP.NET MVC 要求に対して承認フィルターとアクション フィルターの両方を実行する

ベースコントローラーをいくつかのアクションフィルターで装飾しました。彼らは正常に動作します。

これらのフィルターの 1 つがリクエストを設定します - ドメインに基づいてカルチャを設定するなどのことを行います。

また、Authorize 属性を使用した承認が必要なアクションもいくつかあります。

私の問題は、ユーザーがアクセスを許可されていないページを要求しようとすると、承認フィルターが作動してページにアクセスできないことを伝えるページにリダイレクトされることです。

問題は、アクション フィルターが実行されないため、カルチャやその他の要求データが設定されないことです。これにより、ビュー内の言語が正しく表示されなくなり、他のデータが失われます。

承認フィルターが最初に実行されることは知っていますが、私の質問は次のとおりです。承認に関係なく、ビューが返される前に特定のメソッドが常に実行されるように設計するにはどうすればよいですか。

それが理にかなっていることを願っています。

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

asp.net - ASP.Net - 状態とセッション変数を追跡するための現在のベスト プラクティスは何ですか?

私たちは、消費者/一般向けの新しい ASP.Net Web アプリを作成しています。2 つの懸念事項があります。

-- Cookie または Cookie を使用しないフォーム認証を使用しますか?

-- Cookie をまったく使用しないことにした場合、Cookie に保存されるはずのデータ (顧客 ID、AffiliateID など) をどのように保存しますか? ASP.Net 認証フレームワークは CustomerID などを追跡しますか?

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

c# - WebForms + MVC サイトでコントローラー アクションへのパブリック アクセスを許可する

MVC を統合する従来の ASP.Net Web サイトがあります。web.config で標準の認証タグを使用して Web フォーム認証を使用します。

過去に、次のような場所を使用してさまざまなフォルダーを公開できました。

MVC といくつかのコントローラーを追加したので、いくつかのコントローラー アクションを完全に公開する必要があります。ただし、web.config のロケーション タグを使用してこれを行うことはできません。認証されていないときにアクションの URL にアクセスしようとすると、ASP.Net によってログイン ページ (web.config で指定) にリダイレクトされます。これらのコントローラー アクションのいずれにも Authorization 属性を使用していません。

保護が必要なすべての Web フォームへのセキュリティを破る範囲内で、これらへのアクセスを開くにはどうすればよいですか?

編集:

保護したいアクションに対して [Authorize] を使用していることを明確にしたいと思います。公開したい質問のアクションは [Authorize] 属性を使用しておらず、ログインしない限りアクセスできません。

編集2:

私はいくつかの IIS トレースを実行しましたが、これは実際に認証の失敗であり、他のエラーではないことを確信していると思います。アクセスしようとしている場所とルートの例を次に示します。

そしてルート:

そして、失敗している URL:

私は実際にこれを処理するより一般的なルートを持っていますが、疑問を取り除くためにこれを追加しました。いずれにせよ、これはログインした状態で正常に機能します。

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

asp.net-mvc - カスタム承認属性 (フォローアップ)

このスレッドをフォローアップすると、これが私が思いついたものです...

どのように/なぜ私はこれを思いついたのですか? AuthorizeAttribute ワークフローは次のようになると思います。

  1. まず、AuthorizeCore がトリガーされます。true が返された場合、ユーザーは承認されています。false を返す場合、HandleUnauthorizedRequest がトリガーされます。そうですか?
  2. newプロパティをオーバーライドするにはキーワードを使用する必要があることをどこかで読みました。したがって、これが私が Roles プロパティをオーバーライドした方法です。しかし、オーバーライドするプロパティが最初のプロパティ (基底クラスのもの) とは異なるタイプだった場合、それもそれを隠したり、まったく別のプロパティを作成したりしますか?

それで、あなたはどう思いますか?それは実際に機能するはずですか?UI をセットアップしていないため (デザイナーがデザインを完成させるのを待っているため)、今はテストできません... 実際、TDD の利点を理解するのはこれが初めてです。愚かで役に立たないが、私は間違っていた:)

PS:このスレッドでは、@tvanfosson がコンテキストの CachePolicy を設定しています (私はそう思います)。

前もって感謝します。

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

asp.net - ASP.NET MVC プロジェクト アーキテクチャの問題 — 承認とセッション

別のプログラマーを開始したプロジェクトを終了しています。アーキテクチャ全体を変更することはできませんが、いくつか上書きしたいことがあります。つまり、承認、および現在のユーザーセッションを保存する方法です。プロジェクトは、soap サービスを介してサーバーと通信するクライアントを表します。サーバーには、Security-Services と、A サービス、B サービスなどのいくつかのサービスがあります。セキュリティ サービスは、他のサービスを初期化するための認証とセッション キーを提供します。このプロジェクトは ASP.NET MVC3 で記述されています。これはユーザー モデルのヘッドであり、サービスと対話する方法を記述したシングルトーン クラスとして実装されています。承認のしくみ - オーバーライドされた ValidateUser メソッドを持つ CustomMembershipProvider があり、Security-service で動作します。

主な問題は、セッションがメモリに保存されるようになったことです: web.config:

Set SqlServer-mode は、SiteUser のシリアル化が困難になるため問題があります。どうすればこれを回避できますか? また、認証に問題があります - サービスのセッションで Asp.Net 同期セッションを正しく行うにはどうすればよいですか? 説明が必要な場合は、私の英語で申し訳ありません-質問してください。ありがとうございました。

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

asp.net - ASP.NET MVC2での非常に単純なシングルユーザーログイン?

サイトを構築していますが、サイトの一部(管理者部分)を通常の公開表示から制限したいと思います。

  • データベースアクセスにLINQを使用しています。
  • LINQを介してデータベースへの呼び出しを処理するServiceクラスがあります
  • ログイン部分を除いて、サイト全体を実行しています。

これまでのところ、MembershipProviderやRoleProvidersなどを使用した例しか見つけることができませんでした。正直なところ、私が望むものにはあまりにも多くの作業が必要なようです。入力フィールドに正しいパスワードを入力すると、入力できるようになります。

私は本当にプロバイダーを避けられないのですか?

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

asp.net-membership - ASP.NETフォーム認証-複数のログイン

この質問のバリエーションはこれまで何度も聞かれたことがあると思いますが、答えを見つけることができません。

私はオンラインショップであるウェブサイトを持っています。以下のログイン/アカウント管理要件があります。

ログインするAdminロールのメンバー/AdminにログインするProロールのメンバー/ProにログインするProロールのメンバーCustomerロールのメンバーには、ログインする特定の領域がありませんが、チェックアウト時にログインできるようにして、ログインできるようにします。配信の詳細を再度入力する必要はありません。

したがって、URL構造は次のようになります。

/Checkout.aspx(/ loginフォーム)/Admin/Login.aspx /Pro/Login.aspx(ここでの唯一のわずかな例外は、ユーザーがログに記録されずに/Pro/Register.aspxページにアクセスできるようにすることです。で-明らかな理由で)

これは、メインのweb.configから認証構成を削除し、proフォルダーとadminフォルダーのそれぞれにweb.configファイルを作成した場合に可能であると読みました。IIS 7で、フォルダーをアプリケーションに変更しましたが、ページがメインサイトからマスターページにアクセスできませんでした。

私はそれを正しい方法で行っていますか?

前もって感謝します。

アル