圖像I具有正被正確顯示圖庫但之後,我提出使用Auth
縮略圖的權限沒有長顯示圖像,但是當我刪除從function beforFIlter()
,public function isAuthorized($user)
和Auth
部件AppController
,它以某種方式工作,這怎麼解決? 我正在使用CakePHP 2.4.4和timthumb 2和fancybox。CakePHP的驗證doesn't允許顯示
** **的AppController
class AppController extends Controller {
public $components = array('DebugKit.Toolbar',
'Session','Auth' => array(
'loginRedirect' => array('controller' => 'admins', 'action' => 'admin_index'),
'logoutRedirect' => array('controller' => 'home', 'action' => 'index'),
'authorize' => array('Controller')
)
);
public function isAuthorized($user){
if(isset($user['role']) && $user['role']==='admin'){
return true; //admin pode acedeer a todas as actions
}
return false; // os outros utilizadores não podem
}
function beforeFilter(){
$this->Auth->allow('index','ShowImages','ShowShowbill','ShowVideos','login');
}
public $helpers = array('Html' ,
'Form' ,
'Timthumb.Timthumb',
'Paginator',
'Session',
'Js',
'Fancybox.Fancybox');
}
GalleriesController
public function ShowImages(){
$this->layout = 'default';
$this->loadModel('GalleryImage');
$gallery_images = $this->GalleryImage->find('all');
$this->set('gallery_images', $gallery_images);
//$image_display = $gallery_image['path']
}
查看
<h2>Galeria</h2>
<br>
<table width="100%">
<tr>
<?php
$i=0;
foreach($gallery_images as $gallery_image):?>
<td align="center" class="thumbnail" style="display:inline-block;">
<?php
$src3 =$this->webroot. 'img/gallery/' .$gallery_image['GalleryImage']['path'];
//$src3 = 'img/gallery/' .$gallery_image['GalleryImage']['path'];
$this->Fancybox->setProperties(array(
'class' => 'fancybox3',
'className' => 'fancybox.image',
'title'=>'Single Image',
'rel' => 'gallery1'
)
);
$this->Fancybox->setPreviewContent($this->Timthumb->image('/img/gallery/' . $gallery_image['GalleryImage']['path'] , array('width' => 267, 'height' => 189)));
$this->Fancybox->setMainContent($src3);
echo $this->Fancybox->output();
?>
</td>
<?php $i++;
if($i==4){
echo "</tr><tr>";
$i=0;
}
?>
<?php endforeach ?>
</tr>
您的'GalleriesController'是否也定義了'beforeFilter()'回調函數?如果是這樣,確保它正確地調用'parent :: beforeFilter()'! – ndm
否控制器中沒有'beforeFilter()',只有上傳和刪除圖像的操作。 – SunT
任何調試消息?像Auth消息一樣? –