Administrador de Configuración de Roles

PortalRoleAdmin es la página de administración para los roles del portal: qué roles tiene el portal y cuáles de ellos se asigna a un usuario recién registrado. Se distribuye con el framework en ambas pilas, así que un portal recoge mejoras actualizando sus paquetes — la página que escribes es la puerta de roles y el encabezado.

¿Qué hay en la página?

Dos cuadrículas, cada una con Nuevo, Abrir y Eliminar. Cada cambio se escribe tan pronto como lo guardas o eliminas — no hay guardado a nivel de página.

  • Roles en el portal — un nombre y una descripción, editados en un panel lateral. Lo que concede un rol no está configurado aquí: está vinculado al nombre del rol en código al inicio, así que añadir un rol lo hace asignable en lugar de poderoso, y renombrarlo lo desvincula de lo que concede.
  • Configuraciones de roles — qué rol se le asigna a un usuario recién registrado, y cuándo — a nadie, a todos o a quien coincida con una regla que escribas.

Reglas que deciden quién cumple los requisitos

Una regla es una consulta FetchXML sobre contact. Cuando alguien se registra, el portal reduce la consulta a ese contacto y asigna el rol si Dataverse lo devuelve. Se respetan las uniones a tablas relacionadas, y las columnas, ordenan y top no afectan la respuesta, por lo que una consulta copiada de una vista funciona tal cual.

En React la regla se escribe con el constructor de consultas FetchXML, fijado en Contact con los agregados desactivados, en una página propia para que el constructor tenga espacio. Run muestra los contactos que la regla coincide hoy — la única forma de saber si selecciona a las personas a las que te referías.

En Blazor la misma columna se edita como texto FetchXML; aún no existe un generador de consultas en Blazor.

Una regla rota falla silenciosamente

Una regla vacía, que no es válida en FetchXML, que es una consulta agregada o que está enraizada en una tabla distinta a Contact no coincide con nadie. Nada la informa como un error — el rol simplemente nunca se asigna. El editor de React advierte sobre cada uno de estos elementos por encima del constructor mientras escribes la regla.

Añadirlo a tu portal

Ambas plantillas de proyecto ya incluyen esta página en /RoleConfigurationAdmin, en el menú de Administrador. Para añadirla tú mismo, abre una puerta a una página en el SystemAdmin rol y suelta el componente en:

React
Blazor

La página de configuración (React)

configurationUrl abre una configuración en su propia página en lugar de en un panel lateral. Si la dejas apagada, se usa el panel, lo cual funciona pero deja poco espacio al creador de consultas. La página a la que apunta proporciona el contexto del registro y el botón de guardar; el propio formulario es el PortalRoleConfigurationForm:

Roles web bajo autorización mejorada

En un portal que ejecuta autorización mejorada, los usuarios reciben roles web de Power Pages en lugar de roles de portal: Power Pages otorga a cada usuario el rol de seguridad Dataverse que empareja con cada uno de sus roles web, y lo que ese rol permite proviene de los permisos de tabla del sitio. WebRoleAdmin Es el equivalente de PortalRoleAdmin para ese modelo — una cuadrícula de reglas, cada una entregando un rol web a cada nuevo usuario o a aquellos que coinciden con una regla escrita exactamente como antes. Las reglas están en la solución Power Portals Pro Enhanced Authorization , que necesita que Power Pages esté instalado en el entorno.

Ambas plantillas de proyecto muestran la página que corresponda: el menú de Administración ofrece Configuración de Rol Web cuando la autorización mejorada está activada y Configuración de Roles cuando está desactivada. Tu propia navegación puede hacer la misma elección con ISecurityModelInfo.IsEnhancedAuthorizationEnabledAsync() Blazor o useAuthOptions() React, ambas respondidas desde GET /api/auth/options.

React
Blazor

Los propios roles web están en Power Pages

Crea roles web y dales permisos de tabla en la app Power Pages Management — esta página solo decide quién los recibe. Un rol web sin rol de seguridad emparejado no otorga nada hasta que Power Pages empareja uno, y se omite un rol web perteneciente a un sitio diferente al del portal; el portal registra ambos. Los cambios de rol y privilegio pueden tardar uno o dos minutos en llegar a un usuario iniciado sesión.

Referencia de API

Reaccionar Blazor

PortalRoleAdmin Clase

PortalRoleConfigurationForm

Reaccionar Blazor

PortalRoleConfigurationForm Clase

WebRoleAdmin

Reaccionar Blazor

WebRoleAdmin Clase

WebRoleConfigurationForm

Reaccionar Blazor

WebRoleConfigurationForm Clase