Você está na página 1de 4

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDURSTRIAL


SEGURIDAD INFORMATICA

TEMA: Autenticación / Validación en Yii

Nombre: Karina Redrobán

Yii es un framework PHP moderna de alto rendimiento mejor para el desarrollo de las
aplicaciones web y APIs.

Una parte clave de una aplicación web es la seguridad de acceso. ¿Quién puede consultar los
datos, quién puede hacer qué acciones. Dentro de Yii se define la primera capa de seguridad de
acceso dentro del controlador donde se definen las reglas de control de acceso para cada acción.
Las reglas de acceso predeterminadas creadas por el generador de código en el GII son;

Todos los usuarios.- Permite a nadie para acceder a estas funciones, que se refieren a todos los
visitantes a su sitio web

Usuario autenticado.- aquellos usuarios que han iniciado sesión en el uso de cualquier sistema de
autenticación de usuario que ha elegido utilizar

Usuario 'Admin'.- Esto significa que un usuario llamado administrador en lugar de cualquier
usuario definido como un super-usuario!

PRÁCTICA:

Implementar la autenticación por base de datos con MD5 en aplicación Yii y configurar reglas
de acceso a determinado conjunto de funcionalidades.

Implementación de la autenticación por base de datos con MD5 en aplicación Yii

Para esto necesario realizar algunos cambios en los archivos generados por el framework al
crear la aplicación.
En el archivo \protected\components\UserIdentity.php, creado por el generador Gii se debe
sustituir el método authenticate por el contenido del archivo UserIdentity. AuthUpdate

Para otorgar o denegar permisos a usuarios también se modifica el controlador del modelo, en
este caso protected/controllers/UsuarioController.php, vamos a la función accessRules:

Para que la contraseña se guarde en la base de datos con formato md5 se debe modificar el
archivo UserController.php en los métodos actionCreate y actionUpdate de la siguiente manera.
CONJUNTO DE REGLAS

En el archivo UserController.php se escriben las reglas de autenticación a nuestra aplicación


Yii, para esto se debe incluir en el método accessRules() las reglas.

1. Permite al usuario admin realizar acciones administración y borrado siempre y cuando


el usuario sea administrador.
array('allow',
'actions'=>array('delete', 'admin'),
'expression'=>'Yii::app()->controller->isAdmin()',
),
Se debe incluir la función para verificar si el usuario es administrador
public function isAdmin()
{
$user=User::model()->active()->findbyPk(Yii::app()->user->id);
return UserModule::isAdmin();
}
2. Esta regla permite realizar tareas de actualización y borrado a los usuarios admin y
profesor1 que tengan roles de administrador y editor además filtra el acceso por IP y
para las acciones de POST y GET
array(
'allow',
'actions'=>array('update', 'delete'),
'users'=>array('admin', 'profesor1'),
'roles'=>array('admin', 'editor'
'ips'=>array('127.0.0.1'),
'verbs'=>array('GET', 'POST'),
),
3. Esta regla permite a todos los usuarios establecidos realizar acciones create y update.
Utilice * para representar a todos los usuarios,
? Usuarios invitados
@ usuarios autenticados
array('allow',
'actions'=>array(create,update),
'users'=>array('profesor1'),
),

Você também pode gostar