mmm vamos a ver si te ayudo en algo....
Puedes encararlo a mi parecer desde el material.. alli puedes tener un "estado" o algo que te valide si puede ser accedido o no...
Teniendo entonces una tabla para usuarios.. una para material y una para lugar....
Asi por ejemplo podrias pienso, validar que el estado del usuario en la tabla de material sea que puede acceder... al material y lo mismo del lugar.. por tanto en la tabla de material tendrias un id de usuario y un id de lugar... el id es falso o verdadero dependiendo del estado de acceso para cada uno de ellos (usuario o lugar)
mmm no se si esto de oriente en algo.. de igual forma mirare más a fondo tu pregunta...
Un saludo...