php - instalar - yii2 requerimientos
Filtro/comportamiento global Yii2 para obligar al usuario a autenticarse primero (2)
En realidad, no estoy versado en Yii2 (pero sí en Yii1).
Una solución que se puede emplear en Yii1 y creo que también en Yii2 es tener un método de filtro en una clase de controlador principal. Normalmente, un solo controlador sirve como controlador principal. Si no tiene uno, créelo y todos deberían ampliarlo. Puede implementar esto probablemente no como un filtro sino en otros métodos de este ''controlador maestro'' (init ()?) Si toda la actividad está pasando por la clase de controlador, entonces está configurado.
En mi aplicación Yii2 estoy tratando de obligar a todos los usuarios a ser autenticados. Si aún no están autenticados, deberían ser redirigidos a la página de inicio de sesión.
En Yii1 lo hice creando una clase que verificaría si un usuario estaba conectado y onBeginRequest
esa clase al comportamiento onBeginRequest
en mi archivo de configuración principal.
// Yii 1
''behaviors'' => array(
''onBeginRequest'' => array(
''class'' => ''application.components.RequireLogin'',
)
),
¿Cómo puedo obtener el mismo comportamiento en Yii2? Sé que puedo usar el comportamiento para hacer esto, pero quiero agregar este comportamiento a mi archivo de configuración principal para que todas las solicitudes se comprueben primero para la autenticación.
El método de comportamientos de trabajo tiene este aspecto:
// Yii2
public function behaviors() {
return [
''access'' => [
''class'' => AccessControl::className(),
''rules'' => [
[
''actions'' => [''login'', ''error''],
''allow'' => true,
],
[
''allow'' => true,
''roles'' => [''@''],
],
],
],
];
}
Ok, entonces tuve que agregar el siguiente código debajo de ''components'' => [...]
''as beforeRequest'' => [
''class'' => ''yii/filters/AccessControl'',
''rules'' => [
[
''actions'' => [''login'', ''error''],
''allow'' => true,
],
[
''allow'' => true,
''roles'' => [''@''],
],
],
],
Lea más sobre el formato: http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#configuration-format