SRBAC - Installationshilfe

und zwar ich hab folgendes Problem

ich hab SRBAC installiert

-> meinem Benutzer hab ich die AdminRole zugewiesen in der wiederrum alle Operations und Aufgaben hinzugefügt habe.

Wenn ich nun in der config (main.php) debug => true setze

und dann die Frontpage von srbac aufrufe bekomm ich eine leere Seite




'modules'=>array(

		// uncomment the following to enable the Gii tool


		'gii'=>array(

			'class'=>'system.gii.GiiModule',

			'password'=>'qwer',

		 	// If removed, Gii defaults to localhost only. Edit carefully to taste.

			'ipFilters'=>array('127.0.0.1','::1'),

		),


        'srbac' => array(

             'userclass'=>'User', //default: User

             'userid'=>'id', //default: userid

             'username'=>'username', //default:username

             'delimeter'=>'@', //default:-

             'debug'=>false, //default :false

             'pageSize'=>20, // default : 15

             'superUser' =>'Authority', //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(

            'class' => 'WebUser',

			// enable cookie-based authentication

			'allowAutoLogin'=>true,


		),

        

		// uncomment the following to use a MySQL database


		'db'=>array(

            'class' => 'CDbConnection',

			'connectionString' => 'mysql:host=localhost;dbname=testdrive',

			'emulatePrepare' => true,

			'username' => 'root',

			'password' => '',

			'charset' => 'utf8',

            'tablePrefix' => '',

		),


         'authManager'=>array(


             // Path to SDbAuthManager in srbac module if you want to use case insensitive::'application.modules.srbac.components.SDbAuthManager

             //access checking (or CDbAuthManager for case sensitive access checking)

             'class'=>'CDbAuthManager',

             // The database component used

             'connectionID'=>'db',

             // The itemTable name (default:authitem)

             'itemTable'=>'authitem',

             // The assignmentTable name (default:authassignment)

             'assignmentTable'=>'authassignment',

             // The itemChildTable name (default:authitemchild)

             'itemChildTable'=>'authitemchild',

          ),



Hi,

also bei mir hat das perfekt funktioniert.

  • Wichtig ist, bei einem Controller das extends wie folgt zu ändern: ‘class ControllerName extends SBaseController’, damit der SBaseController die Controller findet, für welche Berechtiungen verwaltet werden sollen. z.B.

class CompanyController extends SBaseController

  • –Die Rules welche gii im Controller generiert, werden soweit nicht mehr benötigt

  • Man kann einfach die Birne anklicken, um die Berechtigungselemente zu generieren, danach die Aufgaben den Rollen zuweisen

  • Ich brauche hier die Tabellen AuthAssignment, AuthItem, AuthItemChild

Bei mir ist die config so:


'srbac' => array(

				'userclass'=>'User', //default: User (Model)

				'userid'=>'f_user_id', //default: userid (f_user_id = Feld in der DB)

				'username'=>'f_user_username', //default:username (f_user_username = Feld in der DB)

				'delimeter'=>'@', //default:-

				'debug'=>false, //default :false

				'pageSize'=>100, // default : 15

				'superUser' =>'Authority', //default: Authorizer

				'css'=>'srbac.css', //default: srbac.css

				'layout'=>'application.views.layouts.main', //default: application.views.layouts.main,

				'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'=>'noia', //default: noia 'iconText'=>true, // default : false 'header'=>'srbac.views.authitem.header', //default : srbac.views.authitem.header,

				'imagesPath' => 'srbac.images',

				'imagesPack' => 'tango',

				'iconText' => false,

				'header' => 'srbac.views.authitem.header',

				'footer' => 'srbac.views.authitem.footer',

				'showHeader' => true,

				'showFooter' => true,			

				'alwaysAllowedPath'=>'srbac.components', // default: srbac.components

				// must be an existing alias 

			),


	'components' => array(

			'authManager' => array(

				'class' => 'srbac.components.SDbAuthManager',

				'connectionID' => 'db',

				'itemTable' => 'AuthItem',

				'assignmentTable' => 'AuthAssignment',

				'itemChildTable' => 'AuthItemChild',

			),

hab den "Fehler" gefunden.

und zwar die Role Authority wurde bei mir nicht automatisch erstellt!

so, jetzt würde ich ein gutes Anmeldescript benötigen

und zwar mit email aktivierung

gibts da ein gutes, einfaches??