[font="arial, sans-serif"][size="2"][color="#222222"]Essendo un principiante,
(ho cominciato da soli 2 giorni),
ho pensato di scrivere questa guida per installare il plugin srbac,
in modo di evitare ai newbie tutte le difficoltà che ho incontrato io.
Magari non sarà completissima, ma almeno è un inizio.
- Scaricare il modulo srbac da qui:
http://www.yiiframew…t/files/?id=190
accertarsi di aver dato i giusti privilegi col comando:
chmod -R a+r of srbac directory
vedi eventuali problemi su:
http://code.google.c…es/detail?id=64
- Le migliori istruzioni che ho trovato sono state queste qui:
http://spyros.agilit…r=site/srbacDoc
Vi posto l’intero files main.php
così che possiate avere un esempio completo abbastanza funzionante:
<?php
error_reporting(E_ALL ^ E_NOTICE);
// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');
// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Esperimenti del Janka',
// preloading 'log' component
'preload'=>array('log'),
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
'application.modules.srbac.controllers.SBaseController', //per usare
RBAC plugin
),
'modules'=>array(
// togliere il commento sulla seguente riga per abilitare i Gii tool
//Una volta abilitato, puoi accedere ai gii tool da questo url:
// /index.php/gii
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'pino',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
// 'ipFilters'=>array('127.0.0.1','::1'),
//Imposto che possano accedere solo le macchine della rete 10.1.0.*
'ipFilters'=>array('10.1.0.*','::1'),
),
/*
* Inizio gestione del modulo srbac per la gestione dell'autenticazione
* per i dettagli leggere la guida in italiano:
* [url="http://www.yiiframework.it/blog/?p=5"]http://www.yiiframework.it/blog/?p=5[/url]
* (è divisa in 5 pagine e non si capisce subito)
* oppure quella in inglese:
* [url="http://spyros.agilityhoster.com/demos/index.php?r=site/srbacDoc"]http://spyros.agilit...r=site/srbacDoc[/url]
* [url="http://www.yiiframework.com/extension/srbac/"]http://www.yiiframew...xtension/srbac/[/url]
* per usare questa estensione
* ho hanche ritoccato le sezioni "import" e aggiunto
* authManager in components
*/
'srbac' => array(
'userclass' => 'User', //default: User
'userid' => 'PERCOD', //default: userid
'username' => 'UTENZA', //default:username
'delimeter' => '@', //default:-
'debug' => true, //default :false
'pageSize' => 10, // default : 15
'superUser' => 'Authorizer', //default: Authorizer
'css' => 'srbac.css', //default: srbac.css
'layout' => 'application.views.layouts.main', //default:
application.views.layouts.main, must be an existing alias
'notAuthorizedView' => 'srbac.views.authitem.unauthorized', //
default: srbac.views.authitem.unauthorized, must be an existing alias
'alwaysAllowed' => array(//default: array()
'SiteLogin', 'SiteLogout', 'SiteIndex', 'SiteAdmin',
'SiteError', 'SiteContact'),
'userActions' => array('Show', 'View', 'List'), //default: array()
'listBoxNumberOfLines' => 15, //default : 10
'imagesPath' => 'srbac.images', // default: srbac.images
'imagesPack' => 'tango', //default: noia
'iconText' => true, // default : false
'header' => 'srbac.views.authitem.header', //default :
srbac.views.authitem.header, must be an existing alias
'footer' => 'srbac.views.authitem.footer', //default:
srbac.views.authitem.footer, must be an existing alias
'showHeader' => true, // default: false
'showFooter' => true, // default: false
'alwaysAllowedPath' => 'srbac.components', // default:
srbac.components must be an existing alias
),
),
// application components
'components'=>array(
'user'=>array(
// enable cookie-based authentication
'allowAutoLogin'=>true,
),
// Ablto la gestione degli URLs in path-format
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
// per usare il MySQL database
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yii_tour',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'test',
'charset' => 'utf8',
// 'class'=>'CDbConnection', //Dicono di aggiungere questa riga per
usare srbac, ma sembra funzionare anche senza
),
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),
// authmanager fa sempre parte di srbac
'authManager' => array(
// Path to SDbAuthManager in srbac module if you want to use case insensitive
'class' => 'application.modules.srbac.components.SDbAuthManager',
//access checking (or CDbAuthManager for case sensitive access
checking)
'connectionID' => 'db', // The database component used
'itemTable' => 'PERSONE', // The itemTable name (default:authitem)
//'itemTable' => 'items',// The itemTable name (default:authitem)
'assignmentTable' => 'AuthAssignments', // The assignmentTable name
(default:authassignment) //'assignmentTable' => 'assignments',// The
assignmentTable name (default:authassignment)
'itemChildTable' => 'AuthItemChild', // The itemChildTable name
(default:authitemchild) //'itemChildTable' => 'itemchildren',// The
itemChildTable name (default:authitemchild)
/*
* Altra configurazione che ho trovato
// The type of Manager (Database)
'class'=>'CDbAuthManager',
// The database connection used
'connectionID'=>'db',
// The itemTable name (default:authitem)
'itemTable'=>'items',
// The assignmentTable name (default:authassignment)
'assignmentTable'=>'assignments',
// The itemChildTable name (default:authitemchild)
'itemChildTable'=>'itemchildren',
*/
),
/*
* Fine gestione estensione srbac
*/
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
// uncomment the following to show log messages on web pages
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
),
// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
'params'=>array(
// this is used in contact page
'adminEmail'=>'admin@email.it',
),
);[/color][/size][/font]
[font="arial, sans-serif"][size="2"][color="#222222"]?>
[/color][/size][/font]
[font="arial, sans-serif"] [/font]
[font="arial, sans-serif"][size="2"][color="#222222"]Come modulo però non mi pare il massimo, molto meglio yii rights[/color][/size][/font]
[font="arial, sans-serif"][size="2"] [/size][/font]
A qualcuno potrebbe esser d’aiuto anche questa piccola applicazione didattica per approfondire la costruzione di un form che implementa login e registrazione