バックエンドの開発フレームワークASP.Netコアの共通セットに基づいて、

背景のための共通のフレームワークを開発するためにASP.Netコアをベースにして

EDITORIAL

これは、私のことは良いことができませんでした場合は、あなたを助けるために、学習プロセスの枠組みの中で学んで設定されています。エラーを発見された場合、私に知らせてください、私が最初に修正されます。
知っている、ホイールを複製し、作成しない理由を知っています。私はコードを書くのに長い時間のために自分が退屈見つけ、この時間は、他の人に見に行くので、私はなぜ理解感のようなものになります。使用していますが、それが使用されている理由を知らないだけでなく。
本当に、ただ常に学び、ノックしないでください。

デモ住所:http://app.guoddy.com
ソースアドレス:https://github.com/jellydong/LJDAPP
データは、テストモードに設定し、保存し、そのログインを避ける本物ではありません。

開発ツール

1.Visual Studioの2019
2.SQLサーバー2017
3.Powerデザイン

全体的な効果

家
メニュー管理
メニューマネージャ

の役割と権限の設定管理

メニューマネージャ

権限のデザイン&なぜ

技量

私はここで主に7つのテーブル、4つのテーブル、3つの関連表に関係しています。
なぜ、この設計は、私は、これはほとんどのシステムのニーズかもしれないと思います。
ユーザーは複数の役割、または役割を持つことができ、何のデザインセンスがない、多くのユーザーおよびロールに1.多く、人が実際に多くの帽子を着用することがあります。
2.あなたは、ユーザーに直接助成金を与えるか、付与された権限を取り消すことができます。これはその5つのテーブルを必要としないので、もしいくつかは、これは必要ではないと思うことがあります。多くの場合、これは非常に正常需要であるので、しかし、私は、ここに予約を持っています。
3.無制限のメニューレベルは、実際の需要に基づいて設定パラメータは、システムを変更します。

細部

ObjectIDRemarkStatusCreatedByCreatedTimeModifiedByModifiedTimeSortそれはデフォルトのフィールドです。

SysUserInfoユーザテーブル
  • ユーザデータが大きい場合、このテーブルは、実際にのみ保持する必要があるObjectIDULoginNameULoginPWDあなたは速度を向上させることができますので、それについて、すべての情報を掲載する必要が保存されません。
  • ユーザーおよびロール、多くのR_sysUserInfo_sysRole
  • ユーザーと権限の項目 - 多くの(直接AUTHORIZEまたは禁止)R_UserPermissions
説明 タイプ 主キー
オブジェクトID 主キー NVARCHAR(50) TRUE
ULoginName ユーザー名 NVARCHAR(20)
ULoginPWD パスワード NVARCHAR(50)
URealName 本名 データ型はnvarchar(10)
UTelphone 電話 NVARCHAR(20)
UMobile 電話番号 NVARCHAR(11)
UEmail Eメール NVARCHAR(50)
UQQ QQ NVARCHAR(20)
UGender 性別:0 F; 1-男性; 2-機密 int型
UDepID 部門 NVARCHAR(50)
リマーク リマーク NVARCHAR(500)
状態 ステータス:0 - 有効、無効の1- int型
によって作成された 作成 NVARCHAR(50)
CreatedTime 作成 日付時刻
ModifiedBy 修飾子 NVARCHAR(50)
ModifiedTime 変更されました 日付時刻
ソート 値で並べ替え int型
SysRoleロールテーブル
  • こうした管理者、一般ユーザとしての役割、の分類。
  • 役割のユーザーの多くR_sysUserInfo_sysRole
  • 役割の権限の多く-R_RolePermission
説明 タイプ 主キー
オブジェクトID 主キー NVARCHAR(50) TRUE
RNAME 役割名称 VARCHAR(50)
リマーク リマーク NVARCHAR(500)
状態 ステータス:0 - 有効、無効の1- int型
によって作成された 作成 NVARCHAR(50)
CreatedTime 作成 日付時刻
ModifiedBy 修飾子 NVARCHAR(50)
ModifiedTime 変更されました 日付時刻
ソート 値で並べ替え int型
SysMenusメニュー表
  • メニューデザインのテーブルの後のテーブルを変更し、良いスタートです。開発プロセスのその後の増加IsLast; Hierarchy除去MAction
  • isLastをマークするために使用、自動的に、そのような追加および削除されたデフォルトの方法を高めるために私たちの最後の段階であれば、最後の1ではありません。
  • 行うことができます私たちの前に、レベルをマークするために使用される階層は無制限ですが、通常は3になりますので、システム・パラメータを設定するには、実際の必要性、メンテナンスの時間制限を確認することができます。
  • IsMenuShow是否作为菜单显示,也就是左侧菜单递归的,因为有部分API不需要作为菜单显示,并且授权的方式也会不一样。
  • 菜单角色多对多 R_RolePermission
  • 菜单权限项一对多
Name 说明 类型 主键
ObjectID 主键 nvarchar(50) TRUE
MName 名称 nvarchar(100)
MUrl URL nvarchar(100)
MArea 区域 nvarchar(100)
MController 控制器 nvarchar(100)
MIcon 图标 nvarchar(100)
IsLast 是不是最后一级菜单:0-是;1-否 int
IsMenuShow 是不是作为菜单显示:0-是;1-否 int
Remark 备注 nvarchar(500)
ParentID 父ID nvarchar(50)
Status 状态:0-启用;1-禁用 int
Hierarchy 层级 int
CreatedBy 创建人 nvarchar(50)
CreatedTime 创建时间 datetime
ModifiedBy 修改人 nvarchar(50)
ModifiedTime 修改时间 datetime
Sort 排序值 int
SysFunction 菜单按钮表 (菜单权限项表)
  • SysFunction一开始我是叫菜单按钮表的,我计划是查询、新增编辑删除、其他权限这样控制,但后来发现这样不好,所以全都分开,每个方法都要记录。当然为了方便,通用的方法,在增加菜单的时候会自动添加上。
  • 菜单权限项菜单是多对一关系
Name 说明 类型 主键
ObjectID 主键 nvarchar(50) TRUE
FName 名称 nvarchar(50)
FFunction 方法 nvarchar(50)
FIcon 图标 nvarchar(50)
ParentID 所属菜单 nvarchar(50)
Remark 备注 nvarchar(500)
Status 状态:0-启用;1-禁用 int
CreatedBy 创建人 nvarchar(50)
CreatedTime 创建时间 datetime
ModifiedBy 修改人 nvarchar(50)
ModifiedTime 修改时间 datetime
Sort 排序值 int
R_sysUserInfo_sysRole用户和角色关联表,记录用户和角色的对应关系。
R_RolePermission 角色菜单权限项关联表。

比如一个角色有用某菜单下的查询和删除权限,那么这个表应该是具有两条记录的。

R_UserPermissions 用户菜单权限项关联表。

HavePermission记录该用户是 是否有权限:0-无权限;1-有权限
后续处理的时候,要从获取的权限记录中排除直接无权限的记录,增加有权限的。

总结

実際には、権限についての多くのオンラインの記事には、自分の見て前に、必ずつまずい感じるので、私は最終的にそれを自分でするつもり。終了する、と理解している時間。私はあなたが問題を持っている場合、私に知らせて、私はすぐに修正しますしてください、不明瞭ではないか、設計が合理的である私は、ここで説明したのか分かりません!
パワーデザインは、私が使用される最初の時間ですが、また、初めての値下げは、ブログを書くように、ハンズノック、非現実的な期待を持っていません。
このフレームワークはすぐに学習に適した、コードを生成するために、T4テンプレートをアプリケーションを構築することができます。ご質問がありましたら、私に連絡してください

デモ住所:http://app.guoddy.com
ソースアドレス:https://github.com/jellydong/LJDAPP
データは、テストモードに設定し、保存し、そのログインを避ける本物ではありません。

おすすめ

転載: www.cnblogs.com/jellydong/p/11462192.html