問題タブ [role-based-access-control]
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.
asp.net - ASP.NET フレームワークでロール ベースのアクセスを実装するより良い方法はありますか?
基本的に、私は友人のために開発している Web サイトに単純な管理者とメンバーの役割を追加する方法を見つけようとして、ここ数日を費やしてきました。(私は ASP.NET Framework 5.2.7.0 を使用しています)。[Authorize Role=("Admin")
Microsoftには、コントローラーの上部に次のようなものを配置できる、優れたロールベースのアクセス機能が組み込まれていることを知っています。ただし、まったく機能させることができず、見つけたリソースのほとんどは ASP.NET Core 用です。
web.config ファイルを変更して、ロール ベースのアクセスを有効にしようとしました (そして、うまくいけば、ロールなどをデータベースに移行します)。しかし、私はこれを理解することができなかったので、よりハックなルートを試してみました. (**私は高度なプログラマーではありません。これを約 1 年間行っており、決してプロではありません)。これは、ユーザーが管理者であるかどうかを確認しようとして、基本的に思いついたものです (これも機能しませんでした)。
現在、サインインしているユーザーが管理者であるかどうかを確認する方法としては、これはあまり安全ではないことはほぼ確信していますが、少なくとも機能することを望んでいました。私の考えは、誰かが AdminPortal にアクセスしようとしたときに IsAdmin メソッドが実行され、ユーザーがデータベースの管理者であるかどうかを確認するというものでした。そうである場合は null が返され、AdminPortal ビューが表示されます。管理者でない場合は、ホームページのインデックス ビューにリダイレクトされます。ただし、AdminPortal ページは常にすべてのユーザーに表示され、これも機能していないようです。コードに足を踏み入れて、return RedirectToAction("Index", "Home");
アクションを実行するのを見たこともありますが、その後、AdminPortal メソッドに戻り、AdminPortal ビューを返すだけです。だから私の質問は:
1) ASP.NET Framework で役割ベースのアクセスを使用した経験がある場合は、設定方法に関するヒントを教えてください。
また、
2) 他のすべてが失敗し、ハッキーな方法を使用する必要がある場合、ユーザーが管理者ではない場合でも AdminView を返し続けるのはなぜですか。
**注: ユーザーが管理者であるかどうかにかかわらず true または false を返す関数を作成し、AdminPortal コントローラーに if/else ステートメントを作成して、true の場合はビューに、false の場合は別のステートメントを返すことができることはわかっていますが、これをすべての ActionMethod に実装する必要はありません。1 行に抑えるか[Authorize Role="Admin]
、可能であればコントローラーのすぐ上に置くとよいでしょう。
提供されたヘルプに感謝します。私はこれを数日間調査して修正しようとしており、コミュニティに連絡して質問することにしました!
reactjs - React: render props を使用してロールベース認証を実装する方法
render props を使用してロールベースの認証を実装したいと考えています。3 つのユーザー タイプがあり、各ユーザー タイプに、ナビゲーション バーのさまざまな部分とアプリケーションのさまざまなページへのアクセスを許可したいと考えています。
実装方法がわかりません。何か提案はありますか?HOCを使用してみましたが、うまくいきませんでした。
javascript - React アプリへのログイン時にロールベースのリダイレクトを追加する
そのため、現在ログイン時に正常に動作するアプリがあり、基本的なアプリに移動するだけです。AdminDashboard.js という新しいページを作成し、"Admin" という名前の新しい部分を json に追加しました。これは、管理者ユーザーに対して 1 に設定され、それ以外のユーザーに対して 0 に設定されます。ログインしているユーザーが管理者の場合、App.js 部分ではなく AdminDashboard.js に移動するリダイレクトをどこに追加すればよいかわかりません。
JSONは次のようになります
そして、現在要約されているコードは、AdminDashboard.js を除いて、使用されているページについてはこれに似ています。
index.js
App.js
AuthService.js
withAuth.js
ログイン.js