请教 SRBAC 使用问题

各位,我从Extensions 下载 SRBAC模块,按照他提供的配置了,通过它的url http://IP/index.php?r=srbac 去访问,发现不能找到该模块,

这是什么问题呢?

???

错误信息呢?

看看是否有在config中加载moduels

sorry, 忘记把错误贴上来了。

无法找到网页 Unable to resolve the request "srbac". 服务器无法找到请求的 URL 所对应的网页. 如果您是手动输入URL, 请检查是否拼写无误后重试. 如果您认为此错误是服务器造成的,请与管理员联系 the webmaster. 2009-12-29 13:25:03 nginx/0.8.31 Yii Framework/1.1.0-dev

》》》》》》》》》》》》》》》》》》》

我在配置中是这样写的:

// autoloading model and component classes


'import'=>array(


	'application.models.*',


	'application.components.*',


	'application.modules.srbac.controllers.SBaseController',


),








    。。。。。。。。。。。。。。。。





// application components


'components'=>array(











	///////////////////////////////////////////////////////////////////////////////////////


	// SRBAC


	///////////////////////////////////////////////////////////////////////////////////////


	'authManager'=>array(


		// The type of Manager (Database)


		'class'=>'CDbAuthManager',


		// The database component used


		'connectionID'=>'db',


		// The itemTable name (default:authitem)


		'itemTable'=>'items',


		// The assignmentTable name (default:authassignment)


		'assignmentTable'=>'assignments',


		// The itemChildTable name (default:authitemchild)


		'itemChildTable'=>'itemchildren',


	),


	'srbac' => array(


		'userclass'=>'User',


		'userid'=>'user_ID',


		'username'=>'username',


		'debug'=>true,


		'pageSize'=>10,


		'superUser' =>'Authority',


		'css'=>'srbac_red.css',


		'layout'=>'application.views.layouts.admin',


		'notAuthorizedView'=>'application.views.site.unauthorized',


		'alwaysAllowed'=>array(


		'SiteLogin','SiteLogout','SiteIndex','SiteAdmin',


		'SiteError', 'SiteContact'),


		'userActions'=>array(


		'Show','View','List'),


		'listBoxNumberOfLines' => 15, 'imagesPath' => 15, 'imagesPack'=>'noia', 'iconText'=>true, 'header'=>'application.views.header', 'footer'=>'application.views.footer', 'showHeader'=>true, 'showFooter'=>true, )		


	),





       。。。。

解决了一个问题,是我配置的问题,需要在main。php增减一个modules的配置数组。

但是,执行到srbac的install的报错误:

Install Srbac*

Help*

Your Database, AuthManager and srbac settings:* 1.1.0-

Database*

Driver* mysql

Connection* mysql:host=127.0.0.1;dbname=gkedb

AuthManager*

Item Table* items

Assignment Table* assignments

Item child table* itemchildren

srbac*

yiiSupportedVersion

1.1.0

version

1.1.0 beta

debug

1

pageSize

10

alwaysAllowed

SiteLogin, SiteLogout, SiteIndex, SiteAdmin, SiteError, SiteContact

userActions

Show, View, List

listBoxNumberOfLines

15

iconText

1

showHeader

1

showFooter

1

useAlwaysAllowedGui

userid

user_ID

username

username

userclass

User

superUser

Authority

css

srbac_red.css

notAuthorizedView

application.views.site.unauthorized

layout

application.views.layouts.admin

imagesPath

15

imagesPack

noia

header

application.views.header

footer

application.views.footer

Yii

Yii version* : 1.1.0-dev

There is an error in your configuration*

Create demo authItems?*

》》》》》》》》》》》》》》》》》》》》》》》》》》

提示倒数第2行,说有错误?错在哪里呢?

???

如果是download的extension下的srbac,又按照pdf文档上面说的配置config:

配置的css应该是srbac.css吧,不知道你的srbac_red.css何来(难道你看见红色错误了)?

配置的很多应该是按照本地的实际情况而来,而不是copy pdf。

先到论坛中的extension下的srbac主题下好好看,也许会有帮组。

只是说明你的配置有问题,如果配置好css文件,是很容易看清那里出错误了、你这样粘贴的,我没能看清错误描述在哪里

I can’t understand a word from these Chinese, but I can see that srbac config must be in modules not in components

to pangjanne:

thanks pangjanne, i got some help from the extexsions/srbac forum board, but still has some problem ,see:

HELP! SRBAC install error

to Spyros:

i show the details about how me use the srbac, but stil has some problem, see:

HELP! SRBAC install error

thanks a lot!

从你的截图中看不见错误,说明你的css文件有可能没设置正确,记得下载的css文件是srbac,而不是srbac_red吧?

这个问题我一开始也是这样,install按钮灰色,

最后我从forum中copy了一个config,而不是srbac的document中的。

it’s ok.

附一段我的config看看对你有什么帮组没有:


'componet'=>array(

     ...

     'authManager'=>array(

            'class'=>'CDbAuthManager',

            'connectionID'=>'db',

			'itemTable'=>'authitem',

			'assignmentTable'=>'authassignment',

			'itemChildTable'=>'authitemchild',

			'defaultRoles'=>array('agent'),

        ),

     ...

),

'modules'=>array(

				'srbac'=>array(

					'defaultController'=>'authitem',

					'userclass'=>'users',

					'userid'=>'id',

					'username'=>'username',

					'superUser' =>'super',

					'layout'=>'application.views.layouts.main',

					'notAuthorizedView'=>'application.views.site.login',

					'userActions'=>array('Show','View','List'),

					'iconText'=>true,

				),

		),

Thanks Pangjanne!

It is OK!

我原来的配置:




        'srbac' => array(

			'userclass'=>'User',

			'userid'=>'user_ID',

			'username'=>'username',

			'debug'=>true,

			'pageSize'=>10,

			'superUser' =>'Authority',

			'css'=>'srbac_red.css',

			'layout'=>'application.views.layouts.admin',

			'notAuthorizedView'=>'application.views.site.unauthorized',

			'alwaysAllowed'=>array('SiteLogin','SiteLogout','SiteIndex','SiteAdmin','SiteError', 'SiteContact'),

			'userActions'=>array('Show','View','List'),

			'listBoxNumberOfLines' => 15,

			'imagesPath' => 15,

			'imagesPack'=>'noia',

			'iconText'=>true,

			'header'=>'application.views.header',

			'footer'=>'application.views.footer',

			'showHeader'=>true,

			'showFooter'=>true,

		)



修改后的配置:




        'srbac' => array(

			'userclass'=>'User',

			'userid'=>'id',

			'username'=>'name',

			'debug'=>true,

			'pageSize'=>10,

			'superUser' =>'super', <<==========此处修改

			'css'=>'srbac.css',

			'layout'=>'application.views.layouts.main', <<==========此处修改,需要使用 主界面的layout : main.php

			'notAuthorizedView'=>'application.views.site.login', <<==========此处修改 ,需要使用 主界面的layout : main.php

			'alwaysAllowed'=>array('Show','View','List'), <<==========此处修改

			'userActions'=>array('Show','View','List'), <<==========此处修改

			'listBoxNumberOfLines' => 15,

			//'imagesPath' => 15, <<==========此处修改 ? 但是不明白,为什么?!

			'imagesPack'=>'noia',

			'iconText'=>true,

			//'header'=>'application.views.header', <<==========此处修改,因为使用了 主界面的layout : main.php,就不用单独的header、footer了

			//'footer'=>'application.views.footer',<<==========此处修改,

			//'showHeader'=>true,<<==========此处修改,

			//'showFooter'=>true,<<==========此处修改,

		)






'modules'=>array(

		// uncomment the following to enable the Gii tool

		

		'gii'=>array(

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

			'password'=>'admin',

		),

		

		'srbac'=>array(

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

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

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

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

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

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

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

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

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

			//must be an existing alias

			'notAuthorizedView'=> 'application.views.site.login', // 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,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 

		),

		

	),



其实应该顶6楼的。'srbac’写在’modules’里面;'authManager’写在’components’里面。