Es correcto Profesor... Otra forma que uso y que no había tomado en cuenta es un campo en donde escribas las selecciones de cada usuario. En ese mismo sistema que te comento, así asigno permisos a los usuarios.
Te explico, el sistema es dinámico por lo que creo categorías y subcategorías con Info, pero no todo el mundo tiene acceso a toda la info.
A través de casillas de verificación asignas la disponibilidad para cada usuario en un campo LONGTEXT más o menos así:
Igual esa idea también te puede servir. Este campo lo tengo asignado en la tabla del usuario.