Giuda all'installazione dell'estensione srbac

[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.

  1. 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

  1. 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

Hai fatto un ottimo lavoro. Però così è utile solo a noi italiani. Io ti consiglio di scrivere un wiki così potranno leggerlo tutti quanti gli utenti.

Ti ringrazio, ma io sono un patriota sfegatato e mi batto da sempre per dare un contributo alla crescita dell’Italia.

Purtroppo a differenza di altri paesi, la maggior parte degli italiani conosce male l’inglese.

io in primis, anche se l’ingelse tecnico lo leggo, faccio comunque difficoltà a comprendere concetti totalmente nuovi.

E purtroppo non sono l’unico.

Un’azienda che conosco, fa commentare il codice sorgente solo in inglese (così fa più figo :slight_smile:

risultato, gli sviluppatori non commentano mai il codice,

e da quando quelli un pò bravi se ne sono andati via, l’azienda sta avendo grosse difficoltà a manutenzionare quel prodotto.

Leggendo libri sociali come ad esempio "A cosa serve la politica?" (di Piero Angela)

si scopre che per combattere la crisi che stiamo vivendo in questi anni, l’unica vera ricetta è investire su cultura e ricerca per rendere le aziende più produttive.

Ora nel mio piccolo, avendo scoperto grazie a questo link:

http://php.html.it/a...le-performance/

che yii è uno dei migliori framework che esista, cerco di fare la mia parte,

dando il mio piccolo contributo all’Italia:

Scrivo in italiano nell’intento di avvicinare i meno esperti a questo fantastico tool.

Fai da dio =). In effetti a me piacerebbe scrivere un libro su yii in italiano. A dire il vero sono a quota 109 pagine =). Ho una marea di tutorial per raccontare tutto quello che so sul framework. Ho deciso di aprire il blog e di usare la mia lingua (per le tue stesse ragioni) ma anche l’inglese.

Io ho scritto un piccolo ebook (non sulla programmazione) e ho la mania per documentare il più possibile.

Un minimo di esperienza nel settore ce l’ho.

Se ti fa piacere, potrei leggere i tuoi appunti e darti una mano nella revisione.

Vedere se è tutto chiaro. Sai, io ho ancora la mente da newbie su yii,

tu oramai sei molto avanti e potresti dare per scontato dei punti che per il principiante sono ostacoli insormontabili.

Se vuoi contattarmi privatamente, ti aiuto volentieri.

Ho giusto una settimana di vacanze natalizie che mi aspettano e potrebbe essere un’ottima occasione per leggere.

Quoto in pieno (leggasi “anch’io sono interessato” :) )

Oppure potrebbe rilasciare su forum o sul suo blog un articolo alla volta e noi potremmo dargli i nostri suggerimenti

Ciao ragazzi mi fa un immenso piacere che il forum si popola di gente professionista.

e mi piace Giancarlo quando dice che vuole contribuire allo scopo Italiano.

Sono pefettamente daccordo con lui.

Ma bisogna essere obiettivi, YII non è stato scritto da italiani, ma sicuramente da gente che usando l’inglese come lingua comune ha scritto ed aggiornato il framework che noi stessi stiamo usando, mettendolo a disposizione.

Sono daccordo (indipendentemente dalla lingua) col principio secondo cui se tutti contribuissero “alla causa” tutti starebbero meglio e nel nostro caso tutti scriverebbero codice piu’ facilmente.

tanto sono convinto che “Ce n’è per tutti”.

:)