Javaのエンタープライズ権利管理プロジェクトノート(D) - - - 著作権管理システムコアテーブルの設計

あなたが著作権管理システムの独自のセットを書きたい理由として理由は?

  1. フレームの要件を満たすように設定され
  2. インタフェース操作しないと表示なし
  3. より詳細な管理を期待

著者、著作権管理システムは、プロジェクトで使用される会社はSpringSecurityまたはSpringShiroこのフレームワークは、その理由を使用していません。上記の3つの理由から、最も重要な点は、開発者ではないため、これらの2つのフレームワークの両方非常に友好的、したがって、自分の開発プロジェクトの管理を使用する許可。そして、それは著作権管理システムの主要な開発者ですが、原因プロジェクト権限システムの需要に、そのムーコース、コア権管理の深い理解は、対応する能力を高める授業を学びます。

まず、著作権管理プロジェクトが開発されるコンテンツ

機能構成の管理

機能傍受する許可

補助機能:バッファ(Redisの)、生成された様々なツリー構造

第二に、機能性成分:

1、構成管理の特徴:

  • (拡張子を持つ:部署、権限モジュール)ユーザー権限、役割の管理インタフェース
  • 役割 - ユーザー管理、役割 - 権限管理
  • ログ管理を更新する権限

2、クラスの機能を傍受する権限:

  • セクション(フィルター)で行う権限を傍受します
  • ユーザーが権限を持っているかどうかを確認

3、補助クラスの機能:

  • キャッシュ(REDI)のパッケージと使用
  • 木のすべての種類:木の部署、権限モジュールの木、木の役割の権限、ユーザー権利の木
  • 権限の回復操作

第三に、詳細な構造設計テーブル

設計仕様:

 各テーブルには、独自の主キーを持っています。

それは可能なフィールドNOT NULLとして定義されます。

フィールドごとにメモを追加してみてください。

単語間の下線で区切られた小文字の統一されたデータベースフィールド、。

InnoDBストレージエンジンを使用しました。

あなたは、varchar型のフィールドは、可能な限りTEXT、BLOB型を使用していない使用することができます。

UTF8文字セット選択テーブル

詳細テーブルの構造設計:

           

1、部門表

CREATE TABLE `sys_dept` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT '部门id' , `name` varchar(20) NOT NULL COMMENT '部门名称' , `parent_id` int NOT NULL DEFAULT 0 COMMENT '上级部门id' , `level` varchar(200) NOT NULL DEFAULT '' COMMENT '部门层级' , `seq` int NOT NULL DEFAULT 0 COMMENT '部门在当前层级下的顺序。由小到大排序' , `remark` varchar(200) NULL DEFAULT '' COMMENT '备注' , `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' , `operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最后一次操作时间' , `operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新操作者ip' , PRIMARY KEY (`id`) );

図2に示すように、ユーザ・テーブル

CREATE TABLE `sys_user` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT 'user id' , `username` varchar(20) NOT NULL DEFAULT '' COMMENT '用户名字' , `telephone` varchar(13) NOT NULL DEFAULT '' COMMENT '联系方式' , `mail` varchar(20) NOT NULL DEFAULT '' COMMENT '邮箱' , `password` varchar(40) NOT NULL DEFAULT '' COMMENT '密码' , `dept_id` int NOT NULL DEFAULT 0 COMMENT '部门id' , `status` int NOT NULL COMMENT '用户状态' , `remark` varchar(200) NULL DEFAULT '' COMMENT '备注' , `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' , `operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP COMMENT '最后一次操作时间' , `operator_ip` varchar(20) NOT NULL , PRIMARY KEY (`id`) );

3、許可モジュールテーブル

CREATE TABLE `sys_acl_module` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT '权限id' , `name` varchar(20) NOT NULL COMMENT '权限名称' , `parent_id` int NOT NULL DEFAULT 0 COMMENT '上级权限id' , `level` varchar(200) NOT NULL DEFAULT '' COMMENT '权限层级' , `seq` int NOT NULL DEFAULT 0 COMMENT '权限在当前层级下的顺序。由小到大排序' , `status` int NOT NULL DEFAULT 0 COMMENT '1表示可用,0表示失效' , `remark` varchar(200) NULL DEFAULT '' COMMENT '备注' , `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' , `operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最后一次操作时间' , `operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新操作者ip' , PRIMARY KEY (`id`) );

図4に示すように、権限テーブル

CREATE TABLE `sys_acl` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT '权限id' , `code` varchar(20) NOT NULL DEFAULT '' COMMENT '权限码' , `name` varchar(20) NOT NULL DEFAULT '' COMMENT '权限名称' , `acl_module_id` int NOT NULL DEFAULT 0 COMMENT '权限所在模块的id' , `url` varchar(100) NOT NULL DEFAULT '' COMMENT '请求的url,可用填正则表达式' , `type` int NOT NULL DEFAULT 1 COMMENT '类型1:菜单;2:按钮;3:其他' , `status` int NOT NULL DEFAULT 1 COMMENT '状态:1:正常;2:冻结' , `seq` int NOT NULL COMMENT '权限在当前模块下的顺序' , `remark` varchar(200) NULL DEFAULT '' COMMENT '备注' , `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' , `operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间' , `operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后操作者的ip' , PRIMARY KEY (`id`) );

5、テーブルの役割

CREATE TABLE `sys_role` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT '角色id' , `name` varchar(20) NOT NULL DEFAULT '' COMMENT '角色名称' , `type` int NOT NULL DEFAULT 2 COMMENT '角色类型1:管理员。2:其他用户' , `status` int NOT NULL DEFAULT 1 COMMENT '状态:1:正常;2:冻结' , `remark` varchar(200) NULL DEFAULT '' COMMENT '备注' , `operator` varchar(20) NOT NULL DEFAULT '' , `operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP , `opeator_ip` varchar(20) NOT NULL DEFAULT '' , PRIMARY KEY (`id`) );

図6に示すように、ユーザ関連テーブルの役割

CREATE TABLE `sys_role_user` (
`id`  int NOT NULL AUTO_INCREMENT , `role_id` int NOT NULL COMMENT '角色id' , `user_id` int NOT NULL COMMENT '用户id' , `operator` varchar(20) NOT NULL , `operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP , `operator_ip` varchar(20) NOT NULL , PRIMARY KEY (`id`) );

7.役割 - 特権関連するテーブル

CREATE TABLE `sys_role_acl` (
`id`  int NOT NULL AUTO_INCREMENT , `role_id` int NOT NULL COMMENT '角色id' , `acl_id` int NOT NULL COMMENT '权限id' , `operator` varchar(20) NOT NULL , `operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP , `operator_ip` varchar(20) NOT NULL , PRIMARY KEY (`id`) );

8、関連当局は、テーブル内のレコードを更新します

CREATE TABLE `sys_log` (
`id`  int NOT NULL AUTO_INCREMENT COMMENT 'id' , `type` int NOT NULL DEFAULT 0 COMMENT '权限更新的类型:1:部门;2:用户;3:权限模块;4:权限;5:角色;6:角色用户关系;7:角色权限关系;' , `target_id` int NOT NULL COMMENT '基于type指定的对象id,比如用户、角色、权限表的主键' , `old_value` text NOT NULL , `new_value` text NOT NULL , `operator` varchar(255) NOT NULL , `operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP , `operator_ip` varchar(255) NOT NULL , `status` int NOT NULL COMMENT '当前是否复原过0:没有;1:有' , PRIMARY KEY (`id`) );

注意: 

            日時タイプのみがサポートしているMの上記ysql5.6.5バージョンを。

            次のバージョンの  日時 に  TIMESTAMPを  することができます。

おすすめ

転載: www.cnblogs.com/wushaopei/p/11681415.html