2013-11-24 3 views
0

В веб-приложении мы используем ckeditor, чтобы пользователь мог создавать контент. Мы хотим, чтобы пользователь мог загружать файлы. Мы хотели бы загрузить это в папку.Как загрузить файлы и ограничить доступ к зарегистрированным пользователям

Эта папка теперь должна быть доступна только для зарегистрированных пользователей. Есть ли способ объединить Auth-Component Cake для управления доступом к этой папке?

ответ

3

Вам нужно будет сохранить файлы в папке, недоступной из браузера вне веб-сайта, и отправить файлы через php.

См. this section книги, в которой объясняется, как отправлять файлы с использованием объекта ответа. В вашем действии будет использоваться любой адаптер, который вы настроили. Таким образом, только люди, которым разрешено получить доступ к этому действию, получат файл.

Я написал a plugin that deals with files and storage systems. Взгляните на него, если хотите. Он управляет ссылками на файлы в разных адаптерах хранения (локальная FS, S3, dropbox, memory ...). Он также может изменять размеры изображений. В нем есть событие, позволяющее вам изменять файлы по мере необходимости до и после их хранения.

+0

Когда используются возможности загрузки ckeditor, создается ссылка на нужный файл. Мы хотим избежать того, что пользователь должен редактировать html-код. Будет ли ваше предложение переписывать запрос пользователей с использованием маршрутов торта или средств перезаписи Apache для направления запроса на правильный контроллер? Правильно ли мой подход? –

+1

Нет, прочитайте ссылку на книгу CakePHP. Это * не * маршрутизация. Фактически вы отправляете данные через php, php считывает данные из папки, НЕдоступной из Интернета, и отправляет ее в браузер. Когда вы используете сценарий загрузки ckeditors, я не могу вам помочь, это не CakePHP, и я не знаю сценарий загрузки из редактора. – burzum

Смежные вопросы

 Смежные вопросы