El tema es que el rol no es un error, si el rol con el que se conecta el usuario no existe, solo tendra los privilegios asignado a él.
Personalmente nunca me gusto mucho darle a los usuarios que se conecten con el rol, dado que en general ya con la clave es mucho recordar
entonces lo que hice fue generar distintos roles y a cada rol le asigne un numero, luego cuando creas los usuarios les pones en su propiedad grupo el numero del rol al que pertenecen.
cuando un usuario se conecta al servidor, lo que hago es preguntar su grupo, entonces realizo la conexión con los tres datos (Usuario, clave y rol).
Otra posibilidad es que guardes en una tabla el listado de Roles que haz definido, entonces si el usuario no se conecta con ningun rol que exista en la tabla le muestras un mensaje de error.
Puedes combinar estas ideas y adaptarlas lo mejor que creas a tu caso particular.
Suerte
y disfruta de tus quesillos