cria um sistema de Permissão x perfil X usuário com JWT.
a cada view protegida você vai ter um método que cria uma permissão dinâmica para esse view que vai ser criada ao usuário acessar essa rota, após a permissão criada você atribui ela a um perfil e esse perfil ao usuário. se algum outro usuário tentar entrar na mesma rota ele vai ser bloqueado pois ele não tem a permissão necessária. utilize JWT para transformar a permissão em um token e atribuir esse token a sessão do usuário uma vez o usuário saindo da sessão a rota vai estar livre para outro poder utilizar.
fiz algo parecido para um sistema que lidava com dados sensíveis e as vezes eles precisavam ser editados diversas vezes então para garantir que as pessoas pudessem estar lidando com a informações atualizadas adicionei um sistema de fila para que cada um dos requests só fosse direcionado a rota quando realmente tivesse sido liberada pelo usuário que a estava utilizando. enfim boa sorte aí mano qq coisa se puder ajudar mais entra em contato