When I upgraded to a new version of PHPMaker which adds the new Project ID to the User Level Permissions, it lost all of the permissions, and no one other than admins are now able to log in.
Lost User Permissions
-
- User
- Posts: 11905
There are two options you can do to adjust the new permissions:
- Update the "userlevelpermissions" table, by appending the Project ID string at the beginning of the value of "tablename" field.
For example, your Project ID is {362268AD-57A2-462E-9270-F28F64FFE82A}, then simply execute the following SQL:
UPDATEuserlevelpermissions
SETtablename
= CONCAT('{362268AD-57A2-462E-9270-F28F64FFE82A}',tablename
);
or:
- Migrate the new structure of the user level permissions from "Security" -> "Advanced" -> "User Levels" -> "Dynamic User Levels", then click on "Migrate" button.
Don't forget to backup your database first!
-
- User
- Posts: 3
Thanks for the reply mobhar.
I was successful in migrating the new structure. When I check the "userlevelpermissions" table in phpMyAdmin, all records have the Project ID appended. All of the userlevel records are there as well. But when I log into the website and go to UserLevels/Permissions, no tables are selected.
Could it be that it is now looking for "{31D80717-833E-4B63-9E31-6DDD2FD96781}Table Name" instead of simply "Table Name"? Do I need to rename all the tables with the Project ID prefix?
I don't want to go back and re-enter all the permissions.
Thanks again for your help.
-
- User
- Posts: 11905
Swede68 wrote:
But when I log into the website and go to UserLevels/Permissions, no tables are
selected.
Could it be that it is now looking for
"{31D80717-833E-4B63-9E31-6DDD2FD96781}Table Name" instead of
simply "Table Name"? Do I need to rename all the tables with the
Project ID prefix?
Yes, you need to rename all the tables by appending the Project ID. As always, backup your database/table first before taking the action!
-
- User
- Posts: 1599
After migrating your project, your userlevelpermission table will be prefixed by your Project ID and table name automatically the script. (Does the user has UPDATE permission for the user permission table?) You will be able to see the same permission. Does your userlevelpermission table for the field 'table name' change to {Project ID}Table Name?
Also, make sure your Project ID is the same. If you use "save as" to backup your project, Project ID will change. (Use "save a copy" to backup a project, see Project File in the help file.)