Hướng dẫn user account management, roles, permissions, authentication php and mysql - quản lý tài khoản người dùng, vai trò, quyền, php xác thực và mysql

Nếu bạn đang xây dựng bất kỳ ứng dụng web nào liên quan đến việc tạo, đọc, cập nhật và xóa thông tin dưới bất kỳ hình thức nào, sẽ rất phổ biến rằng & NBSP; đặc quyền thực hiện & NBSP; các hoạt động khác nhau trên dữ liệu sẽ phải được chia sẻ giữa Vai trò và quyền khác nhau trong ứng dụng của bạn.

Lấy một ứng dụng quản lý trường học chẳng hạn. Người dùng ứng dụng như vậy thường nằm trong danh mục: học sinh, giáo viên, Trưởng phòng [HOD], v.v. Ứng dụng của bạn không nên cho phép một sinh viên có đặc quyền thêm hoặc cập nhật kết quả của họ cho các kỳ thi học kỳ. Đó sẽ là chức năng của một giáo viên. Và khi một khóa học hoặc chủ đề mới được thêm vào chương trình giảng dạy, đó là công việc của người đứng đầu bộ phận để thêm khóa học đó trên hệ thống.

Trên một hệ thống như vậy, chúng ta có thể đề cập đến sinh viên, giáo viên, HOD [Trưởng phòng] là các vai trò khác nhau trong ứng dụng của chúng ta. Đối với & nbsp; các hành động như thêm và cập nhật kết quả của sinh viên, thêm các khóa học mới, chúng tôi sẽ gọi những điều này là các quyền.roles in our application. As for actions such as adding and updating student results, adding new courses, we will refer to these as the permissions.

Từ lời giải thích cho đến nay, người ta đã có thể suy luận rằng người dùng sẽ có một vai trò và vai trò sẽ có nhiều quyền. Ví dụ: John [một người dùng] sẽ có một vai trò [sinh viên] và nhiều quyền [khóa học đăng ký, xem nhãn hiệu, bảng điểm in, v.v.].User will have one Role and a role will have multiple Permissions. For example, John [a user] will have one role [Student] and multiple Permissions [register course, view marks, print transcript, etc].

Điều này có nghĩa là trong cơ sở dữ liệu MySQL của chúng tôi, chúng tôi sẽ yêu cầu 3 bảng cơ sở dữ liệu chính: người dùng, vai trò và quyền. Chúng tôi được yêu cầu có mối quan hệ nhiều-một giữa người dùng và bảng cơ sở dữ liệu vai trò [một vai trò thuộc về nhiều người dùng] và mối quan hệ nhiều đến nhiều giữa vai trò và bảng quyền [có thể được gán nhiều vai trò cho nhiều vai trò] .users, roles, and permissions. We are required to have a Many-To-One relationship between users and roles database tables [One role belongs to Many users], and a Many-To-Many relationship between roles and permissions tables [Many permissions can be assigned to Many roles].

Cách bạn tham khảo & nbsp; đối với các vai trò này là tùy thuộc vào bạn. Trong ví dụ của chúng tôi, chúng tôi đã sử dụng học sinh, giáo viên, HOD để đại diện cho các vai trò vì ví dụ là về một ứng dụng quản lý trường học. Nếu bạn đang làm việc trên một ứng dụng quản lý khách sạn, các vai trò có thể là một cái gì đó như người quản lý, người dọn dẹp, nhân viên tiếp tân và những thứ tương tự.

Trong hướng dẫn này, chúng tôi đang xây dựng một hệ thống quản lý tài khoản người dùng cho một ứng dụng blog. Vì vậy, chúng tôi sẽ đề cập đến các vai trò này là tác giả, biên tập viên và quản trị viên. Tất nhiên bạn có thể thay đổi chúng như bạn muốn nhưng ba điều này gần như là một tiêu chuẩn cho các hệ thống quản lý nội dung.

Một hệ thống đăng ký và quản trị viên đầy đủ và hệ thống đăng nhập sẽ được triển khai. Tất cả người dùng sẽ đăng nhập thông qua cùng một mẫu đăng nhập và sau khi đăng nhập, người dùng quản trị chỉ [tác giả, biên tập viên, quản trị viên] sẽ có quyền truy cập vào bảng điều khiển quản trị viên trong khi người dùng bình thường sẽ được chuyển hướng đến trang chủ công cộng.

Chúng tôi sẽ tạo bảng cơ sở dữ liệu A & nbsp; Post & NBSP; trong cơ sở dữ liệu của chúng tôi để có một cái gì đó để kiểm tra quyền của chúng tôi. Ví dụ: người dùng có vai trò của & nbsp; Editor & nbsp; sẽ có thể chỉnh sửa, cập nhật, xuất bản, không xuất bản và xóa bất kỳ và tất cả các bài đăng, trong khi một & nbsp; Các bài đăng đã được tạo bởi chính họ. & NBSP; Admin & NBSP; sẽ có quyền tạo, cập nhật, xóa các người dùng và vai trò quản trị khác và cả để gán/không thuộc quyền cho vai trò và vai trò cho người dùng.posts database table in our database so as to have something to test our permissions on. For example, a user with the role of Editor will be able to edit, update, publish, unpublish and delete any and all posts, while an Author will only have the permission to create, read, update and delete only those posts which have been created by themselves. Admin will have the permission to create, update, delete other administrative users and roles and also to assign/un-assign permissions to roles and roles to users.

Lưu ý: Tôi đã thực hiện một hướng dẫn về việc tạo một ứng dụng blog hoàn chỉnh từ đầu. Vì vậy, chúng tôi sẽ không thực sự triển khai tạo, xóa và cập nhật các bài viết ở đây. Chúng tôi sẽ chỉ chứng minh cách các quyền này hoạt động xung quanh các bài viết. Nếu bạn muốn tìm hiểu cách tạo một blog với các bài đăng, hãy xem hướng dẫn khác của tôi về cách xây dựng blog trong PHP.

Trong trường hợp bạn đang xem lại, hướng dẫn này đã được cập nhật. Vui thích!

Cấu trúc thư mục dự án.

Tạo một thư mục dự án có tên & nbsp; tài khoản người dùng & nbsp; và sau đó tạo ba thư mục khác bên trong nó: quản trị viên, bao gồm, tài sản, mỗi thư mục có các thư mục con sau:user-accounts and then create three other folders inside it: admin, includes, assets, each having the following subfolders:

Quản trị viên: Thư mục này giữ mã nguồn cho phần quản trị viên của ứng dụng. Trong thư mục này, tạo ba thư mục khác là bài đăng, vai trò, người dùng.: This folder holds source code for admin part of the application. In this folder, create three other folders namely, posts, roles, users.

Tài sản: Điều này sẽ giữ các tệp công khai sẽ được truy cập bởi trình duyệt như hình ảnh, CSS, JS. Vì vậy, bên trong tài sản, tạo hình ảnh, thư mục CSSand JS.: This will hold public files that will be accessed by the browser such as images, css, js. So inside assets, create images, cssand js folders.

Bao gồm: Điều này sẽ chứa các bản vá mã nguồn cho ứng dụng của chúng tôi mà chúng tôi có thể đưa vào những nơi khác nhau trong ứng dụng của chúng tôi. Bên trong thư mục này, tạo hai thư mục khác: bố cục và logic.: This will hold patches of source code for our application that we can include in different places in our application. Inside this folder, create two other folders: layouts and logic.

Tại thời điểm này, cấu trúc dự án của chúng tôi được thiết lập. Bây giờ chúng ta có thể bắt đầu mã hóa hệ thống. Chúng tôi sẽ làm điều đó trong phần tiếp theo của hướng dẫn này.

Cảm ơn sự quan tâm của bạn và tôi hy vọng sẽ gặp bạn trong phần tiếp theo.

Awa Melvine

Làm cách nào để quản lý quyền trong PHP?

Thay đổi quyền tệp Chức năng Chmod [] có hai tham số: $ fileName là tệp mà bạn muốn thay đổi quyền. $ Tham số Quyền bao gồm ba thành phần số octal chỉ định các hạn chế truy cập cho chủ sở hữu, nhóm người dùng trong đó chủ sở hữu và mọi người khác trong chuỗi này.The chmod[] function has two parameters: $filename is the file that you want to change the permissions. $permissions parameter consists of three octal number components that specify access restrictions for the owner, the user group in which the owner is in, and everyone else in this sequence.

Các loại vai trò người dùng khác nhau là gì?

Có năm loại vai trò người dùng chính trong trường học của bạn, chủ sở hữu, chủ sở hữu, tác giả, chi nhánh và sinh viên chính của trường.the primary owner, owners, authors, affiliates, and students.

Làm thế nào để tạo vai trò và đặc quyền trong PHP?

Ghi chú nhanh..
Tạo cơ sở dữ liệu và nhập cơ sở dữ liệu 1.SQL ..
Thay đổi cài đặt cơ sở dữ liệu trong 2-Lib-user.PHP cho riêng bạn ..
Chạy 3A-login.PHP để đăng nhập với tư cách là người quản lý, người giám sát hoặc đăng xuất ..
Sau đó truy cập 3B-Run.PHP để xem các hạn chế quyền hoạt động như thế nào ..

Làm thế nào để bạn kiểm soát quyền truy cập người dùng trong ứng dụng PHP?

Bạn yêu cầu 3 bảng MySQL để tạo mô -đun điều khiển truy cập cho ứng dụng PHP của bạn ...
Tạo bảng System_Permissions.....
Xóa bảng bảng System_Permissions.....
Xác minh các quyền mới.....
Tạo một bảng vai trò.....
Duyệt bảng vai trò với 3 bản ghi.....
Xác nhận các hồ sơ từ bảng vai trò ..

Chủ Đề