web-dev-qa-db-ja.com

laravel 5で歩哨を使用するにはどうすればよいですか?

laravel 5に歩哨をインストールしようとしましたが、機能しません。誰かがそれを行ったかどうか、そしてそれを行う方法を知りたいです。

更新:Laravel 4の手順を使用しました。

11
Ogie Sado

私はこれを機能させています。

  1. 現在、L5のセントリーに対する公式のサポートはありません。彼らは彼らのウェブサイトでこの権利を述べています。しかし、彼らはそれに取り組んでいます。

  2. 以下をcomposer.jsonファイルのrequireセクションに追加します。

    "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"
  1. (エイリアスのないLinuxを想定)実行php composer.phar dump-autoloadthenphp composer.phar update

  2. 次のページの指示に従って、ファイルを4.2から5.0に変換します。 http://laravel.com/docs/master/upgrade#upgrade-5.

  3. FORMSにHTMLファサードを使用している場合は、FORMの{{{}}}または{{}}を{!! L5は{{{}}}と{{}}からのすべての出力をエスケープするためです。生の出力が必要な場合は、{!!を使用する必要があります。 !!}。

  4. #4の手順に従ってリダイレクトチェックをbootメソッドに移動するときは、RouteServiceProvider.phpの先頭に以下を追加します。

    Cartalyst\Sentry\Facades\Laravel\Sentryを使用;

Bootメソッドは次のようになります。

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');
            }
        });

        //
    }

UPDATE 02-26-15

  1. コマンドphp artisanoptimizeを実行しないでください。歩哨が壊れます。これを実行した後、何が悪いのか理解できませんでしたが、おそらくcompiled.phpファイルにあるはずだと思ったので、php artisanoptimize --forceそしてそれは問題が何であれ修正しました。

それが役に立てば幸い。

ウェイン・ライザー、I.T。ディレクター

B2B I.T.ソリューション

**アップデート29-03-2018 ** Sentry now supports Laravel 5.x

17
scrfix

個人的にインストールしたことはありませんが、互換性があることはわかっています。 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
Jeremy Schaffer

bootstrapCmsはlaravel5とsentryの両方を使用するため、ソースコードを読んで学ぶことができます。ここ https://github.com/BootstrapCMS/CMS

1
jamlee

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にアクセスします

0
star18bit