Допустимо ли использовать наследование в этой ситуации?
То есть теперь у корзины будут методы определения email, идентификатора пользователя, проверки пароля, и всякого такого?

Корзина может иметь свой метод getUserId, а наследовать корзину от юзера как-то странновато.
В данном случае правильно сделать не наследование, а композицию. Ну, или агрегацию.