ringa_lee
ロールベースの権限制御は良い考えではありません。詳細については、次の記事を参照してください: https://stormpath.com/blog/ne...
私のプロジェクトでも hiro を使用していますが、これはロールに基づいているのではなく、権限に基づいています。簡単に言うとこんな感じです:
各 URL、メニュー、ボタンはリソースであり、このリソースには対応する権限があります
キャラクターには許可が与えられています (複数)
このキャラクターがリソースを取得できるかどうかを判断する方法は非常に簡単で、このキャラクターに対応するリソース権限があるかどうかを確認するだけです
ここでは許可のみがハードコードされています
すべてのバックエンドリクエストは検証する必要があります。たとえば、ユーザー情報リストを取得するための ajax リクエストは、現在のリクエストにリストを取得する権限があるかどうかを確認し、要求された Cookie を取得し、セッションとの接続を確立します。サーバーに許可がある場合はデータを渡し、そうでない場合は 403 などを返します。
は通常、资源URL を統一的に管理し、管理プラットフォームのメンテナンス権限を提供し、interceptor/filter を使用してユーザーが対応する権限を持っているかどうかを確認します。
资源URL
interceptor/filter
データベースからロールを取得するのはなぜですか?権限が変わるから?この場合、リソースを維持する必要があります。そうしないと、動的なアクセス許可を実装できません。
権限は、Tomcat Manager のロールと同様に比較的単純なので、ハードコーディングを直接使用しても問題はありません。
Tomcat Manager
最も重要なことは、要件がどのようなものであるべきかです。
質問が 2 つあると思います。
まず、他のユーザーによるインターフェイスの呼び出しを防止します。これは、トークンがない場合、またはトークンが間違っている場合、403 を返します。 token
token
サーバーはトークンを生成し、クライアントにこのトークンを返します。バックエンドはフィルターを使用してそれを均一に処理します。
権限には、アクション権限、データ権限、さまざまなステータス条件での権限など、複数の粒度があり、共通の RBAC と ACL は部分的な制御しか実現できず、これらを組み合わせる必要があります。それぞれの状況に応じて柔軟に応用できるため、すべての病気を治す特効薬はありません。
特定の操作については、Spring Security または Taro を使用して権限を管理することを検討できます。
ロールベースの権限制御は良い考えではありません。詳細については、次の記事を参照してください: https://stormpath.com/blog/ne...
私のプロジェクトでも hiro を使用していますが、これはロールに基づいているのではなく、権限に基づいています。簡単に言うとこんな感じです:
各 URL、メニュー、ボタンはリソースであり、このリソースには対応する権限があります
キャラクターには許可が与えられています (複数)
このキャラクターがリソースを取得できるかどうかを判断する方法は非常に簡単で、このキャラクターに対応するリソース権限があるかどうかを確認するだけです
ここでは許可のみがハードコードされています
すべてのバックエンドリクエストは検証する必要があります。たとえば、ユーザー情報リストを取得するための ajax リクエストは、現在のリクエストにリストを取得する権限があるかどうかを確認し、要求された Cookie を取得し、セッションとの接続を確立します。サーバーに許可がある場合はデータを渡し、そうでない場合は 403 などを返します。
は通常、
资源URL
を統一的に管理し、管理プラットフォームのメンテナンス権限を提供し、interceptor/filter
を使用してユーザーが対応する権限を持っているかどうかを確認します。データベースからロールを取得するのはなぜですか?権限が変わるから?この場合、リソースを維持する必要があります。そうしないと、動的なアクセス許可を実装できません。
権限は、
Tomcat Manager
のロールと同様に比較的単純なので、ハードコーディングを直接使用しても問題はありません。最も重要なことは、要件がどのようなものであるべきかです。
質問が 2 つあると思います。
まず、他のユーザーによるインターフェイスの呼び出しを防止します。これは、トークンがない場合、またはトークンが間違っている場合、403 を返します。
残りは権限の問題です。hiro、spring securityなどを使用できます。セッションを使用して、異なる権限を持つユーザーを区別できます。token
サーバーはトークンを生成し、クライアントにこのトークンを返します。バックエンドはフィルターを使用してそれを均一に処理します。
権限には、アクション権限、データ権限、さまざまなステータス条件での権限など、複数の粒度があり、共通の RBAC と ACL は部分的な制御しか実現できず、これらを組み合わせる必要があります。それぞれの状況に応じて柔軟に応用できるため、すべての病気を治す特効薬はありません。
特定の操作については、Spring Security または Taro を使用して権限を管理することを検討できます。