問題タブ [roles]
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# - Global.asax.Application_AuthenticateRequest で割り当てられた後、Context.User がロールを失う
asp.net (3.5) アプリケーションでフォーム認証を使用しています。また、ロールを使用して、どのユーザーがアプリのどのサブディレクトリにアクセスできるかを定義しています。したがって、私の web.config ファイルの関連セクションは次のようになります。
私が読んだことに基づいて、これにより、管理者ディレクトリにアクセスできる唯一のユーザーは、認証されて管理者ロールが割り当てられたユーザーになることが保証されます。
ユーザー認証、認証チケットの保存、およびその他の関連する問題はすべて正常に機能します。タグを web.config ファイルから削除すると、すべて正常に動作します。問題は、管理者の役割を持つユーザーのみが管理者ディレクトリにアクセスできるように強制しようとしたときに発生します。
このMS KB 記事と同じ情報を提供する他の Web ページに基づいて、次のコードを Global.asax ファイルに追加しました。
ただし、ログインしようとすると、Admin フォルダーにアクセスできません (ログイン ページにリダイレクトされます)。
問題をデバッグしようとして、リクエストをステップ実行すると、上記の Debug#1 とマークされた行で Context.User.IsInRole("Admin") を実行すると、false が返されます。行 Debug#2 で同じステートメントを実行すると、true になります。したがって、少なくとも Global.asax に関する限り、Role は適切に割り当てられています。
Global.asax の後、実行はログイン ページに直接ジャンプします (役割がないため、admin フォルダー内のページの読み込みが拒否されるため)。ただし、ログインの Page_Load の最初の行で同じステートメントを実行すると、false が返されます。そのため、Global.asax の Application_AuthenticateRequest と制限されたディレクトリの WebForm の初期ロードの後のどこかで、ロール情報が失われ、認証が失敗します (注: Page_Load では、適切な認証チケットがまだ Context.User.Id に割り当てられています)。 - 役割だけが失われています)。
私は何を間違っていますか、どうすれば正しく動作させることができますか?
database - データベースに小数第1位として保存されている複数の権限タイプ(ロール)
ここで、一部のユーザー/ロールデータベーステーブルの設計が受け入れられるかどうかについて質問するつもりでしたが、調査の結果、次の質問に遭遇しました。
これは革新的なアプローチのように聞こえるので、多対多の関係users_to_rolesテーブルの代わりに、単一の小数として定義された複数のアクセス許可があります(私が推測するintデータ型)。これは、1人のユーザーに対するすべての権限が1行にあることを意味します。他の質問を読んで答えるまで、おそらく意味がありません
私はこれについて頭を悩ませることができません。誰かが変換プロセスを説明できますか?「正しい」ように聞こえますが、データベースに入る前にロールを小数に変換する方法と、データベースから出るときにロールがどのように変換されるのかがわかりません。私はJavaを使用していますが、それをスタブアウトすれば、それもクールです。
他の質問が削除される可能性が低い場合の元の回答は次のとおりです。
「個人的には、フラグ付きのアクセス許可の列挙を使用することがあります。このようにして、列挙の項目に対してAND、OR、NOT、およびXORのビット演算を使用できます。
次に、ANDビット演算子を使用して複数のアクセス許可を組み合わせることができます。
たとえば、ユーザーがユーザーを表示および編集できる場合、操作のバイナリ結果は0000 0011であり、10進数に変換されます。3です。次に、1人のユーザーの権限をデータベースの1つの列に格納できます(この場合は、 3)である。
アプリケーション内では、ユーザーが特定の権限を持っているかどうかを確認するために、別のビット演算(OR)が必要です。」
postgresql - PostgreSQL 8.3 の権限が更新されていません - 使い方が間違っていますか?
PostgreSQL 8.3 で別のユーザーに権限を付与するのに問題があります。GRANT コマンドでエラーが発生することはありませんが、権限が表示されません。それらを「フラッシュ」する必要がありますか?
.net - プロファイルに特定の値を持つユーザーを取得する
vb.netアプリケーションの認証にメンバーシップとロールを使用しています。アプリケーションには約5つの役割があり、特定の役割が特定のプロファイル値を入力します。例として、ロールはストアであり、プロファイル値はストア番号です。もちろん、本社で働いている場合は店舗番号がないので気にしません。各店舗には複数の従業員を配置することもできます。
特定の店舗番号のユーザーを取得する必要があります。つまり、店舗番号101に属するユーザーだけにそのリストを表示させたいと思います。現在これを行っている方法は、すべてのユーザーを調べ、条件に一致するユーザーを並べ替えられたリストに追加することです。これは機能しますが、問題は約3,000人のユーザーを通過させ始めるときです。何か良いものになるのは遅くなるだけです。
どうやってそれを行う別の方法を見つけますか?後のバージョンの.netでメンバーシップとロールが変更されるのではないかと心配しているので、カスタムストアドプロシージャを実行したり、基になるクラスを変更したりすることは本当にしたくありません。
membership - ユーザーと ASP.NET のそれぞれのフォルダーを関連付けるにはどうすればよいですか?
userA がファイルをアップロードすると、そのファイルは folderA にアップロードされ、userB の場合は folderB にアップロードされます。ASP.NET のロール/プロファイル。フォルダは既存のものになります。誰?
asp.net - ページとボタンのアクセスをきめ細かく制御するための、顧客が構成可能なasp.netWebサイトのセキュリティ
ASP.NET 2.0 [ajax...まだ]Webサイトがあり、コンパイルされた形式で複数の顧客サイトに展開されます。通常、サイトはイントラネットのみになります。一部の顧客はすべての人を信頼し、サイトやページ機能へのアクセスを制限することを気にしません。他の顧客は誰も信頼せず、特定の人やグループだけが特定のページを表示したり、特定のボタンをクリックしたりできるようにしたいなどです。 al。
自家製のソリューションを実行して、データベーステーブルからアクセス許可を取得することもできますが、その道を進む前に、SOで質問すると思いました。この状況に適したソリューションは何ですか。Webサイトを再構築することはできないため、web.configファイルやデータベースで完全に制御できるものが望ましいです(クライアントにとっては、何度も何度も行う必要はありません)。Active Directoryの統合はボーナスですが、必須ではありません(それが簡単でない限り)。
出発点として、サイト内の各ページ/ファンクションポイントにIDが与えられ、アクセス許可グループに関連付けられていると思います...
編集:役割とユーザーによるアクセスを許可/拒否するweb.config承認セクションは良いですが、それは問題の半分にすぎません-残りの半分は、各ページの個々のメソッド(ボタンなど)へのアクセスを制御しています。たとえば、一部のユーザーはwhatchamacallitsを表示できますが、他のユーザーはそれらを編集、作成、削除、または無効化/有効化できます。これらのボタン/リンク/アクションはすべて表示ページにあります...
[理想的には、無効にしたボタンを非表示にしますが、ここでは重要ではありません]
編集:これまでのところいくつかの良い提案がありますが、完全な解決策はまだありません-まだデータベース駆動型の解決策に傾いています...
- セキュリティ許可要求属性は、ボタンがクリックされたときに例外をスローしますが、これは簡単なことではありません。ユーザーが使用を許可されていないボタンを非表示にしたい
- LoginViewコントロールも興味深いものですが、ほとんどのページコンテンツを数回(ロールごとに1回)複製する必要があり、ユーザーが複数のロールに属している場合は処理できない可能性があります。ロールが階層的であるとは想定できません。お客様が定義します
編集:プラットフォームはWin2K / XP、SQL Server 2005、ASP.NET 2.0であり、AJAXを使用していません
ruby-on-rails - 最高の役割ベースのアクセス制御 (RBAC) データベース モデル
Web アプリケーションのロールベースのアクセス制御を追跡するのに最適なデータベース スキーマは何ですか?
私は Rails を使用していますが、Google によってリンクされた RBAC プラグインはメンテナンスされていないようです (SVN へのコミットは 300 件のみです。最新のものはほぼ 1 年前です)。
この概念は、ゼロから実装するのに十分単純ですが、正しく理解する価値があるほど複雑で重要です。
では、他の人はどのように RBAC モデルを設計し、実装しているのでしょうか?
asp.net - ロールに基づいて Web サイトにさまざまなビューを実装する最良の方法は何ですか?
ASP.NET では、次のことを行う最善の方法は何ですか。
- 権利に基づいて特定のコントロールを表示しますか?
- グリッドビュー コントロールの場合、ロールに基づいて特定の列をどのように表示しますか?
2 番目に考えているのは、データベースのロール固有のビューからデータを取得することです。
asp.net - コードビハインド クラスで、承認されたロールを取得するにはどうすればよいですか?
私のweb.configには次のものがあります:
RestrictedPage.aspx.cs 内で、Group1Admin、Group3Admin、および Group7Admin を含む許可されたロール コレクションを取得するにはどうすればよいですか?
これが私が尋ねる理由です:
web.config は、ページへの承認を処理しています。それはうまくいきます。ただし、これらのページをいくつか作成します (RestrictedPage.aspx、RestrictedPage2.aspx、RestrictedPage3.aspx など)。これらの各ページには、カスタム Web コントロールが配置されます。そして、これらの各ページには、許可される役割が異なります。私の Web コントロールにはドロップダウン リストがあります。ドロップダウン内の選択肢は、ユーザーの役割とページの許可された役割の交差によって異なります。
以下で説明するように、XPath を使用して web.config を検索すると、おそらくうまくいくでしょう。もっとフレームワーク的なものを望んでいました。サイトマップのようなもの。web.sitemap にロールを配置すると、SiteMap.CurrentNode.Roles を使用してそれらを取得できます (私の Web サイトは Windows 認証を使用しているため、セキュリティ トリミングに web.sitemap を使用できず、ロールを 1 つのみに維持したいと考えています)。ファイル)。
database - Oracle データベース ロール - スキーマ識別子なしでスキーマ全体のテーブルから選択
ユーザーがスキーマ識別子を指定せずに別のスキーマのテーブルから選択できるようにする Oracle データベース ロールはどれですか? つまり、ユーザー A として - A.table の select をユーザー B に許可します。B は、「A」を指定せずに「テーブルから * を選択」することができます。データベースの 1 つはこれを許可しますが、もう 1 つは「テーブルまたはビューが存在しません」というエラーを返します。