Как я могу использовать часового с Laravel 5?
Я попытался установить часового в Laravel 5, но это не работает. Я хотел бы знать, если кто-то сделал это и как это сделать.
Обновление: я использовал инструкцию для Laravel 4.
4 ответа
У меня это работает.
Официальной поддержки Sentry в L5 сейчас нет. Они заявляют это прямо на своем сайте. Они работают над этим, однако.
Добавьте следующее в ваш файл composer.json в разделе "требуется".
"cartalyst/sentry": "dev-feature/laravel-5", "illuminate/html": "~5.0"
Добавьте следующее в раздел автозагрузки.
"app/Http/Controllers",
Это должно выглядеть примерно так:
"require": {
"laravel/framework": "5.0.*",
"cartalyst/sentry": "dev-feature/laravel-5",
"illuminate/html": "~5.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database",
"app/Classes",
"app/Http/Controllers",
"app/Models"
(Предполагая Linux без псевдонимов) Запустите php composer.phar dump-autoload, затем php composer.phar update
Следуйте инструкциям на следующей странице, чтобы преобразовать файлы с 4.2 до 5.0: http://laravel.com/docs/master/upgrade
Если вы используете HTML Фасад для ФОРМ, измените {{{ }}} или {{}} для ФОРМ на {!!!!} потому что L5 экранирует все выходные данные {{{ }}} и {{ }}. Если вам нужен необработанный вывод, вы должны использовать {!!!!}.
Когда вы перенесете проверку перенаправления на метод загрузки в соответствии с инструкциями в #4, добавьте следующее в начало RouteServiceProvider.php
используйте Cartalyst\Sentry\Facades\Laravel\Sentry;
Метод загрузки должен выглядеть примерно так:
public function boot(Router $router)
{
parent::boot($router);
// Check if someone is already logged in
Route::filter('members_auth',function(){
//If already logged in go to dashboard or else login
if(!Sentry::check()){
return Redirect::to('/login');
}
});
//
}
ОБНОВЛЕНИЕ 02-26-15
- Не запускайте команду php artisan optimize, так как она сломает часовой. Я не мог понять, что было не так после того, как я запустил это, но подумал, что это, вероятно, должно быть с файлом compiled.php, поэтому я запустил php artisan optimize --force, и это устранило проблему.
Надеюсь, поможет.
Уэйн Лейзер, ИТ-директор
B2B IT Solutions
** Обновление 29-03-2018 ** Sentry теперь поддерживает Laravel 5.x
Я лично не установил это, но я знаю, что это совместимо. https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337
Инструкции по установке не содержат конкретной информации Laravel5, хотя она должна быть идентичной L4, пока вы не потянете в нужную ветку. Предполагая, что вы используете композитор, вы можете сделать это, потребовав "cartalyst/sentry": "dev-feature/laravel-5"
в вашем composer.json.
Следуйте остальной части установки L4 (добавьте в провайдеры и массив псевдонимов) и информацию, кроме помните, app.php больше не находится в app/config/app.php
но в config/app.php
Если что-то все еще не работает для вас, обязательно обновите ваш вопрос, по крайней мере, до некоторой информации...
В bootstarpCms используются как laravel5, так и sentry, поэтому вы можете прочитать исходный код, чтобы узнать его здесь. https://github.com/BootstrapCMS/CMS
Попробуйте Sentinel: https://github.com/rydurham/Sentinel
добавить в композитор
composer require rydurham/sentinel
В config/app.php
'providers' => array(
...
'Sentinel\SentinelServiceProvider',
...
)
В приложении /Http/Kernel.php
protected $routeMiddleware = [
// ..
'sentry.auth' => 'Sentinel\Middleware\SentryAuth',
'sentry.admin' => 'Sentinel\Middleware\SentryAdminAccess',
];
затем
опубликовать конфигурацию:
php artisan sentinel:publish
запустить миграции:
php artisan migrate
запустить сеялку:
php artisan db:seed --class=SentinelDatabaseSeeder
добавить домашний маршрут в app/rout.php
Route::get('/', array('as' => 'home', function()
{
return View::make('home');
}));
все сделано, перейдите на myapp.dev/login