星期五, 4月 25, 2008

Xataface-依使用者不同限制紀錄權限

目的:利用setSecurityFilter讓使用者只能改自己的紀錄,不能改別人的紀錄
一、在ApplicationDelegate.php新增函數如下

function getPreferences(){
$mytable =& Dataface_Table::loadTable('Users') ; // load the table named 'my_table'
$auth =& Dataface_AuthenticationTool::getInstance();
$user =& $auth->getLoggedInUser();
$app =& Dataface_Application::getInstance();
$tables =& $app->conf['_tables'];
if ( $user && $user->val('Role') != 'ADMIN' ){
unset($tables['Users']);
$mytable->setSecurityFilter(array('UserID'=>$user->val('UserID')));
}
return array(); // Mandatory!! getPreferences() must return array.
}

沒有留言: