The application database should include ...
(i) a users table with login name, real name, encrypted password and whatever other identifying info the app requires,
(ii) a permissions table to track permissions for app/database functionalities,
(iii) a users_permissions "bridge" table which maps users to permissions.
(iv) optionally, app code that maps [iii] to the
A famous way of implementing app permissions is called role-based-access. A simple example can be found near the end of www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch05.pdf.
MySQL 8.0 has built-in role support.
Last updated 28 Aug 2019