0

我正在尝试使用WkHtmlToPdf 组件,当面临生成 pdf 文件的问题时,它似乎是一个不错的工具。

但是 - 我无法让它与 Auth 组件一起使用。问题是我总是将登录页面生成为 pdf。我已登录,在 beforeFilter 中允许该操作,但它仍然以某种方式进入它。

编辑:

应用控制器:

var $components = array('Auth', 'Session');

function beforeFilter()
  {
  $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');

  if (!$this->Auth->user())
    {
    $this->layout = 'login';
    }  
  }

控制器:

var $components = array('WkHtmlToPdf');

function beforeFilter() // I am logged in, so this shouldn't even be needed
  {
  $this->Auth->allow('pdf');
  }

function pdf()
  {
  $this->WkHtmlToPdf->createPdf();
  }

// this function is required for wkhtmltopdf to retrieve
// the viewdump once it's rendered
function getViewDump($fileName)
  {
  $this->WkHtmlToPdf->getViewDump($fileName);
  }

任何帮助将不胜感激,保罗

4

1 回答 1

0

事实证明,您必须允许该getViewDump方法。它似乎不适用于 Auth,但允许所有人使用它并没有威胁,而且它有效。

控制器:

function beforeFilter()
    {
    parent::beforeFilter();
    $this->Auth->allow('getViewDump');
    }
于 2011-05-23T11:42:34.663 回答