You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,52 @@ All notable changes to this project will be documented in this file.
3
3
4
4
## [Unreleased]
5
5
6
+
## [7.1.0] - 2020-07-07
7
+
8
+
This release completely changes the way the previous authentication system worked. I probably went through 5 different iterations of a multi auth/guard architecture, but it became too messy and there are too many variables when dealing with different user tables and multiple different sessions. The solution I came up with I think serves the same purpose without the complexities. There is a new `type` column on the users table that is a predefined list of user types that your system supports, and a middleware to lock parts down to different types. The roles and permissions also have a corresponding `type` column to organize what roles and permissions are available to what user types, and the backend will only let you choose from the correct ones. For example: Any user of type `admin` can access the admin area, but they cannot do anything without a corresponding role or permission to a given section. This will let you structure your applications better if the use multiple different user types that have access to different areas, without using different guards, all with one users table and one login form.
9
+
10
+
## Added
11
+
12
+
- Add user type check middleware
13
+
- User accounts no longer require roles
14
+
- The roles and permissions a user can have are now constrained by their type
15
+
- Change isAdmin to hasAllAccess, because isAdmin now repurposed to check type
16
+
- Update UserService to reflect type, no longer assign default role to users
17
+
- Delete view backend permission as all users of admin type can view the backend.
18
+
- Add type column to user/role tables
19
+
- Update the global gate to check hasAllAccess instead of isAdmin, since now an admin may not have all access
20
+
- Remove redirect and default user role from boilerplate config
21
+
- Update factories and seeders
22
+
- When creating a user from the backend, a new type dropdown is available, and will show the correct roles/permissions for that type to be able to choose from and validate on the backend
23
+
- Update all old instances of isAdmin to hasAllAccess, and use new isAdmin where applicable
24
+
- Frontend user dashboard now limited to user type
25
+
- When creating/editing a role, only the permissions related to the type will be available to choose from
26
+
- Add spatie/activitylog
27
+
- Add events for roles and users
28
+
- Add role event subscriber
29
+
- Boolean for whether or not 2FA is required for admin
30
+
- Added Terms & Conditions checkbox with validation to registration
31
+
- Added dummy Terms & Conditions page
32
+
- Added UUID trait back if needed
33
+
- Added ability to only allow users to be assigned roles from the backend and not additional permissions
34
+
35
+
## Changed
36
+
37
+
- Change password histories to be polymorphic
38
+
- Make alert banners shorter vertically
39
+
- Refactor system to use user types to define who can view certain areas, then use roles and permissions from there to narrow down further.
40
+
- Update all tests
41
+
- Require 2FA to be enabled to access admin
42
+
- Change 2FA restricted redirect to enable 2FA page
43
+
- Automatically load roles and permissions for users and permissions for role models
44
+
- Move user event namespace
45
+
- Move HomeController out of auth domain
46
+
- Change account tabs from vertical to normal because they respond better
0 commit comments