B エンド製品に長い間取り組んできて最も感じているのは、B エンド製品には複雑なビジネス関係があるということです。すべてが事前に警告されるため、モジュールの機能を計画する前に、モジュール内のビジネス関係を整理する必要があります。この記事では、ERP システムの最も成熟したバックグラウンド管理システムを例として取り上げ、トップレベルのビジネス分析から始めて、基礎となるデータの関係に進み、最後にプロトタイプを通して説明します。
1. ビジネスプロセス
ERP システム、エンタープライズ リソース プランニング、エンタープライズ リソース プランニング。名前が示すように、まずエンタープライズ リソースとは何でしょうか。Kingdee、UFIDA、SAP などの ERP システムを見てきましたが、システムを導入する際、導入コンサルタントは必ず最初に「バックグラウンド管理システム」という言葉を口にします。バックグラウンド管理システムはユーザーも利用するものであり、バックグラウンド管理システムといえば権限という言葉が必ず存在します。権利管理は主に、権利管理の欠如によって引き起こされるデータ漏洩の問題を回避するために行われます。したがって、解決する必要がある問題は次のとおりです。
どの部門のどのユーザーがどの権限を持っているか?
この問題を解決するには、次のモデルについて言及する必要があります。RBAC (Role-Based Access Control) 権限制御モデル
したがって、ユーザー、役割、権限という 3 つのキーワードに焦点を当てる必要があります。
バックグラウンド管理システムは基本的に、ユーザー、ロール、権限に関する 6 つのテーブルを抽象化できます。
- 部門テーブル。会社には複数の部門を持つことができます。
- ユーザー テーブル。ユーザーは複数の部門に所属できます。
- 役割テーブル: システムには複数の役割があり、通常はシステム管理者管理者と一般ユーザー ユーザーに分けられます。
- ユーザーロールテーブル; ユーザーロールテーブル、つまり、ユーザーは複数のロールを持つことができ、ユーザーとロールの間のマッピング関係を保存します。
- 権限テーブル。権限はページ権限、データ権限、操作権限に分かれています。
- ロール権限テーブル。各ロールが持つことができるページ権限、データ権限、および操作権限。
実は部門というとユーザーグループという概念があり、ユーザー数が多い場合、各ユーザーに個別に役割を割り当てるのは非常に面倒です。部門内のすべてのユーザーにロールを付与できます。
2. データの流れ
前のパートでは各ステップのビジネスと主な機能を分析しましたが、このステップでは主に基盤となるデータの流れを分析します。わかりやすくするために、この部分では ER モデリングに Navicat を直接使用します。
すべての B エンド製品マネージャーは、仕事でのビジネス分析に非常に役立つ UML モデリング ツールについて学ぶことをお勧めします。
各テーブルは、主に ID と名前が非常に似ています。特に、sys_role_user テーブル、uid、rid は、外部キーを確立することによって、それぞれ sys_user テーブルと sys_role テーブルに関連付けられます。同様に、sys_role_permission ロール権限テーブルも外部キーを通じて確立されます。
PS: 製品マネージャーは、基になる 6 つのテーブルを通じて権限が実現されることを理解するだけでよく、特定のデータベース操作に注意を払う必要はありません。ただし、開発者として、各テーブルがどのように構築されるかを理解し、製品ビジネスからデータベース モデルを抽象化する必要があります。
3. 機能プロトタイプ
前の分析に従って、まずバックグラウンド権限管理システム全体のマインド マップを整理します。
- 組織管理
組織管理は主に会社の組織構造、Bエンド製品、特に大規模なERPシステムなどを構築することであり、最初に会社の組織構造を解決することです。これには最下層、つまり前述した部門テーブルが関係します。(sys_dept) - 人事管理
組織管理 部門間の上下関係を確立するには、従業員情報を導入する必要があります。これには最下層、つまり先ほど述べた人事テーブルが関係します。(sys_user) - 権限管理
権限管理は主に、組織管理者権限、ロール権限、ユーザー直接権限の 3 つのカテゴリに分類されます。
(1) 大企業の場合、組織管理者権限、つまり部門長権限、
(2) ロール権限、つまりユーザーに関連付けられたロールと特定のロールに対する統合権限 (sys_role_user)、(
3) ユーザーの直接権限、企業規模が小さい場合、ユーザーは直接認証できます。
権限は主に、
機能権限、フィールド権限、およびデータ ルールに分類されます。つまり、先ほど説明したページ権限、データ権限、操作権限です。
- ライセンスは
Bエンドシステムを管理しており、使用は制限されています。一般企業がライセンスを販売します。平たく言えば、システムにログインできる権限の数です。
権限の付与と権限の付与は必須です。
権限の割り当て: ユーザーは自分のアカウントとパスワードでシステムにログインできます;
権限の割り当て: ログイン後に使用できる機能は、権限管理によってユーザーに割り当てられた権限によって異なります。
ログインページの
ホーム
ここでのプロトタイプはナビゲーションを表示するだけであり、具体的なプロトタイプの内容がいちいち表示されるわけではありません。
このブログ投稿では、RBAC 権限管理モデルが実際のビジネスにどのように実装されているかを簡単に分析します。