Cómo crear páginas con vistas de diferentes permisos

Necesito crear diferentes vistas de página para diferentes tipos de usuarios. Ya pregunté eso aquí: Cómo crear páginas con vistas de diferentes permisos

Y aunque la respuesta de Aldeel funciona, no me parece la mejor solución. Explicaré por qué.

Trataré de explicar lo que necesito muy detalladamente y espero que algunos de ustedes puedan ayudarme: D

Necesito mostrar diferentes vistas, pero no solo es así. Cada usuario puede tener acceso a diferentes partes de la página.

Daré un ejemplo:

Imagine una página 'X' con esta estructura

Field A
Field B
Field C
Field D

Cuando el usuarioU1 del grupoG1 visita la páginaX el sistema verifica la base de datos para el permiso de ese grupo en la páginaX. UsuarioU1 puede verField A yField B, pero solo editaField A.

UsuarioU2 que está configurado como página de no visitas grupalesX. El sistema verifica sus permisos en la páginaX. UsuarioU2 puede ver y editar todos los campos.

Cuando el usuarioU3 del grupoG2 visita la páginaX el sistema verifica la base de datos para el permiso de ese grupo en la páginaX. UsuarioU3 puede verField C yField D, pero no puedo editar ninguno.

Espero que sea fácil de entender ...

No podría encontrar una manera de hacerlo en lugar de llenar ViewData con muchos datos sobre el permiso de ese usuario específico. En mi ejemplo, solo hay 4 campos, pero en mi proyecto actual no tengo pantalla con menos de 20 campos. Así que supongo que puedes ver lo feo y poco productivo que es.

La idea es similar a una red social, como dije facebook example). Cuando un usuario que visita la página de UserX solo puede ver lo que UserX le ha permitido.

Realmente aprecio cualquier ayuda

Atentamente

Respuestas a la pregunta(2)

Su respuesta a la pregunta