我尝试在laravel 5中安装哨兵,但它不起作用。我想知道是否有人这样做以及如何做到这一点。
更新:我使用了Laravel 4的说明。
答案 0 :(得分:17)
我有这个工作。
现在L5的Sentry没有官方支持。他们在自己的网站上说明了这一点。然而,他们正在研究它。
将以下内容添加到require部分的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#upgrade-5.0
如果您正在使用HTML Facade for FORMS,请将{{{}}}或{{}}更改为{!! !!}因为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
希望它有所帮助。
Wayne Leiser,I.T。导演
B2B I.T.溶液
**更新29-03-2018 ** 哨兵现在supports Laravel 5.x
答案 1 :(得分:2)
我没有亲自安装它,但我知道它是兼容的。 https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337
安装说明没有特定的Laravel5信息,但它应该与L4相同,等待您拉入正确的分支。假设您正在使用composer,您可以通过在composer.json中要求"cartalyst/sentry": "dev-feature/laravel-5"
来实现此目的。
按照L4安装的其余部分(添加到提供者和别名数组)和信息,除了记住app.php不再在app/config/app.php
但在config/app.php
如果事情仍然不适合您,请务必至少使用一些信息更新您的问题......
答案 2 :(得分:1)
bootstarpCms同时使用laravel5和sentry,因此您可以阅读要学习的源代码。https://github.com/BootstrapCMS/CMS
答案 3 :(得分:0)
尝试Sentinel:https://github.com/rydurham/Sentinel
添加到作曲家
composer require rydurham/sentinel
在config / app.php中
'providers' => array(
...
'Sentinel\SentinelServiceProvider',
...
)
在app / 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 / routes.php中添加主路线
Route::get('/', array('as' => 'home', function()
{
return View::make('home');
}));
全部完成后,转到myapp.dev/login