Added persistent User model with server-side validation