Состояние сеанса хранится на сервере. Клиент не может получить доступ или изменить состояние сеанса, кроме как через предоставленный вами код.
«Золотой стандарт» хранения паролей - хранить только хешированный пароль. Но это не вариант, если вам нужен пароль для подключения к базе данных. Поэтому сохранение этого в сеансе кажется наилучшим способом.