Source

cruge / interfaces / ICrugeSessionFilter.php

<?php
/** ICrugeSessionFilter

Se podria ver a esta interfaz como un implementador de llave que te pregunta:
"usuario xxx quiere entrar a un sistema, le damos una sesion ? cual ?"

Interfaz para las clases que pretendan hacer de filtro de sesion.
por defecto el modulo usa a: application.modules.cruge.filters.DefaultSessionFilter
pero se puede extender la funcionalidad por defecto para incorporar otros controles
que no se hayan pensado aqui.

quien consume esta interfaz ?  CrugeUser::authenticate, tras una identificacion exitosa.

@author: Christian Salazar H. <christiansalazarh@gmail.com> @bluyell
@copyright Copyright &copy; 2008-2012 Yii Software LLC
@license http://www.yiiframework.com/license/
 */
interface ICrugeSessionFilter
{

    /**
    @returns string, descripcion del error.
     */
    public function getLastErrorDescr();

    /**
    @erturns string, nombre corto de este filtro.
     */
    public function getName();

    /*  invocado por CrugeWebUser cuando un usuario solicita login()

        @returns ICrugeSession instancia.  nueva o reutilizada. o null
    */
    public function startSession(ICrugeStoredUser $user, ICrugeSystem $sys);

    /*
        implementa el almacen de la sesion creada por startSession
        @returns boolean true para indicar que se continue la autenticacion, false aborta
    */
    public function onStore(ICrugeSession $model);

    /*
        evento lanzado por CrugeWebUser al momento de iniciar sesion
    */
    public function onLogin(ICrugeSession $model);

    /*
        evento lanzado por CrugeWebUser al momento de cerrar sesion
    */
    public function onLogout(ICrugeSession $model);

    /*
        evento lanzado por CrugeWebUser cuando detecta que una sesion ha expirado
    */
    public function onSessionExpired(ICrugeSession $model);
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.