1. стоит пользоваться существующим механизмом сессий и не заморачиваться
2. userId в куки лучше не писать (во всяком случае, в открытом виде)
3. если нужна функция автовхода, то лучше использовать механизм токенов
4. ну и конечно при изменении привелегий юзера (авторизация,например, получение прав) нужно перегенерить session id