Vue + Spring Boot project combat (XI): user role permissions management module design

Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/Neuf_Soleil/article/details/100849732

The second part of the directory

* List
Vue + Spring Boot project combat (XI): user role permissions management module design

Foreword

The long-awaited Mid-Autumn Festival holiday into the overtime in the end, running all the way to catch the train has not yet dispersed tired yesterday, woke up in the morning and the roar of construction, although there is much work to be done, but I decided to give myself a day off , to its meow blessings.

Today is a day of special significance, because "quiz" project ushered in a new life! Chose Starting today, I think the biggest reason is because today too boring. . . I decided not to work bored after a stomach ache (real pain), can only give herself something to do, another series of articles and nothing inspiration, or to pick any punches either pinching it.

Amount of reading this section up a lot of articles, analysis of what should be many students do curriculum design and the like, uh, made a point can be considered a contribution to society? ? ?

The following content will default to have some basis, and will not unavoidably listed steps. Source code on GitHub gets updated.

First, the modular design

User role permissions management is an important part of all kinds of background management system, as it involves a variety of concepts and techniques, there are some slightly more difficult to implement, and therefore carry out as a separate phase of the project iteration, it is expected to use 5 to 7 terms . In fact, get this part, basically you can complete a variety of functions independently developed, and then again to go is complicated by the cluster distributed all those things, and we refuel, insist insist climbed the mountain, also got left behind a few dozen a seat. . .

The following figure shows the basic functions of the module:
Here Insert Picture Description
The following talk about expansion.

1. User Management

  • User Information: displays basic information about the user (nickname, contact information, role, department, etc.)
  • Organization: display configuration (additions and deletions) the organizational structure, the tree structure is generally
  • User Action: Assign roles (many to many), organizational structure (many to many) users, delete users
  • Users black list: special control over specific users

2. Role Management

  • Role information: displays basic information about the role (name, permissions, etc.)
  • Role operations: necessary additions and deletions role, assign permissions to roles (many to many, according to different particle size distribution, and to achieve mutually exclusive inspection authority)

3. Rights Management

There are three general permission particle size:

  • Menu privileges: access to a menu (page routing) of
  • Operation / Function authority: an operation is to use a function or rights (such as deleting user)
  • Data Permission: access to certain data (tables, fields) or operational control of the data amount

Management of rights is primarily necessary additions and deletions rights content, that is, maintain a list of three rights (corresponding to different size), this is not difficult, the difficulty lies in how to make these two permissions to take effect.

4.UI Design

This module is my intention to portrait navigation layout, which is more close to the design management background. Future library management module can also be ported to the original layout of the base as the front desk.

Below is my past developed a content management background, you can simply feel it. Due to the more specific application scenarios, local user management much easier than the design of the project.
Background Interface
Discerning eye could see above is made ExtJS, Ext really an enterprise Web application development artifacts, but the flow of social Internet age is not so rosy.

Second, technical analysis

From a development considerations, technical points of the module are as follows:

  • Users, roles, authority, organization structure design table
  • Stored encrypted user authentication, authorization, session management, user information
  • Realization of different granular permissions

Reason was quite complex, but we can take advantage of shiro greatly simplifies our development framework. I have to say, to do with Java back-end is still very peace of mind, almost all of the scenarios has a mature framework.

I will make clear in the tutorial implemented logical functions, you can also try not to use API shiro provided by the own development-related functions, in order to raise awareness of lower-level stuff.

Third, schedule

Some few months ago started watching this series the students should find, and my people the biggest problem is slow to write articles, writing articles in the past I feel like turbid water, as casually, the results of each finished article are fine fatigue dizziness power to do, to do things not easy.

I reckon not an accident, then part of the year to get it finished. . . . So while I feel for this part of a series of newly opened there will be more traffic, but still quietly incorporated into the tenth one, the old urge to be more embarrassed.

It touches on some of the development effort, I try to finish as soon as the code line and Kazakhstan. Turing bless me recently do not always work overtime.

View catalog series:
https://learner.blog.csdn.net/article/details/88925013

Previous: Vue + the Spring project combat the Boot (X): image upload and deploy packaged items

Next: Vue + the Spring project combat the Boot (XII): user role permissions management module design

Guess you like

Origin blog.csdn.net/Neuf_Soleil/article/details/100849732