About IDs
A unique identifier should not be consisting of a user generated name. Doing so allows for so many different venues of attack against your system. It also sets up your application to fail because you cannot guarantee that each time a user inputs a name, it is random and completely unique to your system. I want to throw my laptop against a wall because this is what it has come down to.