ES

Controles de acceso, quien no puede entrar y a donde enviarlo

Este artículo es un prontuario para que tengas a mano todas las funciones típicas para que los usuarios puedan acceder a no


if( !OW::getUser()->isAuthenticated() ){ throw new AuthenticateException(); }

Esta, si el usuario no ha hecho login, salta a la página de login.


$isSuperAdmin = BOL_AuthorizationService::getInstance()->isSuperModerator( OW::getUser()->getId() );

true si es el administrador general, usualmente es usedId = 1 pero puede ser que no, así que usa esto por seguridad


$isAdmin = OW::getUser()->isAdmin();

true si el usuario es administrador


$isModerator = BOL_AuthorizationService::getInstance()->isModerator();

true si el usuario es moderador


$isPluginModerator = OW::getUser()->isAuthorized('pluginkey');

true si el usuario es moderador del plugin 'pluginkey'


Y a donde los envías?


throw new AuthenticateException()

A la página de login.


throw new Redirect404Exception();

A la página de no tienes permiso para hacer ésto.


if( !OW::getUser()->isAuthorized('pluginkey', 'add') ){

    $status = BOL_AuthorizationService::getInstance()->getActionStatus('pluginkey', 'add');

    throw new AuthorizationException($status['msg']);

}

A la página de no tienes permiso para hacer ésto pero mas elegante, con un mensaje personalizado, normalmente recogido de "User Roles", puede ser 'add', 'view', 'edit' o lo que hayas inventado


Comentarios:

No comments
You need to sign in to comment

Rate

Your rate:
Total: (0 rates)

Siguiente/Anterior

Another language?