vProduct Name
CIS-CAT Pro Dashboard
Product Version
v3.xx
Date
Problem
After manually resetting a user password in CIS-CAT Pro Dashboard v3 via MariaDB SQL transactions, the following error is displayed in the web browser upon signing in with a local user account:
Additionally, the (Dashboard directory)/logs/ccpdlogs/ciscatpro.log
file contains the following entry corresponding to the sign-in attempt timeframe:
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "<id>"
Where <id>
will either be a numeric value or null
.
Solution
This error results from the password
record in the ccpd.user
database missing its required encryption identifier. CIS-CAT Pro Dashboard uses the {bcrypt}
function to securely encrypt user passwords, which needs to be part of the password string.
Log into MariaDB on the Dashboard server in an administrative cmd.exe
prompt:
mariadb -u root -p
You can then view the user
table in the Dashboard database using the following query
(\G
will display the data in row format instead of as a table):
SELECT * FROM ccpd.user\G;
Valid entry for the admin
user with ID 1
:
Invalid entry where the password
string is missing its {bcrypt}
identifier:
To remedy this, re-run the steps to reset the affected user password to the system default of @admin123
, including the {bcrypt}
string:
update ccpd.user set password = '{bcrypt}$2a$10$a3q/yfSXin0JSzamE10vE.S1GWEPhINZEhNKBGoveS3DSQTF2r4vW' where username = 'admin';
Replace where username = 'admin';
in this query with the relevant username, or use where id = 1;
to match the entry by its ID from the initial error message.
You can then sign into the Dashboard account with its username and the password @admin123
, which will prompt a credential change following a successful login.
Add Comment