T004 authentificate user with db storage

Why do you duplicate logic of setters here? And I suppose that you don't need accept values with `null`, because they're required