タグ: Laravel4 Laravelユーザーも増えてきましたので、認証機能を外部パッケージを使わずにバージョン4.1で組んでみると、こうなりますよというサンプルです。でも、もうほぼ実用です。コードを読んで学ぶタイプの方向けです。 実装する機能は、以下の通りです。 ユーザー登録(メールで確認) ロールとURIによるアクセスコントロール パスワードリマインダー(パスワードリセット) Remember Me(オートログイン) ユーザー資格停止(サスペンド) モデルでアクセス、ユーザーのソフトデリート採用 Remember Me機能はLaravelの機能をそのまま使用しています。現状はセキュリティーの面も改善され、そのまま使用することができます。パスワードリマインダー(リセット)の機能も、Laravelの機能をそのまま使用しています。 さすがにコードを全部ルート定義に書くと、かえって読みづらい
Laravel には remeber me 機能があるのですが、これは暗号化した Cookie の情報だけで認証を行うので、やや心許ない実装です。 そこで、Laravel フレームワークを拡張して、独自の認証処理ドライバを実装してみました。 ログイントークンテーブル 認証用ログイントークンを保存するテーブルを作成します。 まず、artisanコマンドでマイグレーションクラスを作成します。 $ php artisan migrate:make make_login_tokens 生成されたマイグレーションクラスにテーブル定義を書いていきます。 <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class MakeLoginTokens extends Mi
Authフィルタによるオートログインについてです。 「ひとり Laravel Japan ツアー 2014」と称して、Laravel 福岡 と Laravel Meetup Tokyo vol.3 に参加してきました。 どちらでも発表を行ったのですが、ここでは、Laravel Meetup Tokyo で発表した Auth オートログインの資料を公開します。 Laravel では Auth という認証を行う機能があるのですが、標準でオートログイン機能が実装されています。 Login::attempt() というログイン処理を行うメソッドの第二引数にtrueを渡すだけで、オートログイン用のクッキーが発行され、もしログインセッションが切れても、自動でオートログインが行われます。 とても簡単に使えるのは良いのですが、暗号化したクッキーでのみ認証を行うので、利用には注意が必要です。 詳細は資料を確
こちらも全レコードを取得するには、条件を付けずにそのままget()します。 $results = DB::table('apple_orders')->get(); $resultsの結果も、上記のテーブル構造をそのままstdClassのプロパティーにし、全件分レコードが配列になります。でも、せっかくりんごマスターがあるのですから、やっぱり数字のりんごIDでなくて、人間が読めるりんご名をレコードに含みたいですよね。 LEFT JOINでマスターを引っ張ってきましょう。レコードに名前を含めましょう。 $results = DB::table( 'apple_orders' ) ->leftJoin( 'apples', 'apple_orders.apple_id', '=', 'apples.id' ) ->select([ '*', 'apple_orders.created_at as
【前篇】に続いて、今回もユーザー登録機能に確認メールの送信を追加するカズタマイズを進めます。 進捗確認 【前篇】では、基本的なユーザー登録、ログインを実装した後に、以下の2点をカスタマイズしました。 ユーザー登録直後に確認メールを送信 確認メール内のURLにアクセスして、ユーザー確認を完了 【後編】では、以下の2点を追加します。 確認メールからのユーザー確認が済んでいない時、ログイン出来ないようにする。 確認メールの再送を可能にする。 ミドルウェアでフィルタリング # ミドルウェアの作成 確認メールからのユーザー確認が済んでいるかどうかをチェックするミドルウェアを作成します。 php artisan make:middleware VerifyConfirmed app/Http/Middleware/VerifyConfirmed.php が作成されるので、以下のように編集します。 <?
Laravel 5.1 では標準でユーザー登録機能がコントローラとして提供されています。しかし、この機能には、確認メールを送る機能が付いていません。今回はユーザー登録に、確認メールの送信機能を追加し、メールアドレスがユーザー登録した本人の物であることを確認できるようにカスタマイズします。 環境設定 データベースとメール送信の環境設定を行います。 初めてのLaravel 5.1 : (6) データベースの環境設定 メールの環境設定 ユーザー登録、ログインの実装 # マイグレーション 標準で提供されている、users, password_resets テーブルを作成します。 database/ └── migrations ├── 2014_10_12_000000_create_users_table.php └── 2014_10_12_100000_create_password_res
前回投稿から3ヶ月、その間にW杯も終わり、夏も終わってしまいました。 ドイツが優勝候補筆頭だよ、ノイアー神が居るからだよ、と周囲に吹聴していた私はW杯決勝の後さんざんドヤ顔しましたが、またここに書きながらドヤ顔してます。 さて、前回「ルーティング編」ではLaravelのルーティング、つまりURLと処理の紐付けについてそれなりに詳しく書いてみましたが、今回はいよいよ本丸に突入しますよ。 「次回はコントローラ・ビュー編」というようなことを書いておりましたが、この2つを纏めるのは欲張りすぎなので、この記事ではコントローラに絞って書かせていただきます。 mioのLaravel初心者講座 目次 「最新鋭のPHPフレームワーク「Laravel4」でWeb開発 | (1)導入編」 「最新鋭のPHPフレームワーク「Laravel4」でWeb開発 | (2)ルーティング編」 「最新鋭のPHPフレームワーク「
前回の投稿から早2ヶ月半が経ってしまったのですね。 東京は梅雨入りしてちょっぴりアンニュイな空模様ですが、来週から始まるW杯へ向けて心の準備で忙しくてテンションを下げる暇が無いmioです。 打ち合い上等ザックJAPANと松木氏解説の相性の良さに最近気づいてしまいました。TVで代表戦を観ているとツッコミが間に合わなくて大変なのでもう少し落ち着かせてくれると助かります。ディフェンスラインを。 さて、天使過ぎるPHPフレームワークLaravelを勝手に国内に啓蒙するこのシリーズ。 前回の導入編に引き続き、今回もLaravel4の基本的な部分をご紹介したいと思います。 今回の課題は、これがなくては処理が始まらない「ルーティング」の基本です。 本当はコントローラやビューの話まで進みたかったのですが、あまりに記事が長くなりそうなので分けて書くことにしました。フレームワークに初めて触る人にも分かりやすく
こんにちは〜たきゃはしです〜最近もホントにとにかくビール最高!って感じです! 今回はついにリリースされたLaravel5(以降はL5と略記する)を早速使ってみました! ◯ この記事の概要 L5の基本機能を扱いつつシンプルなブログアプリを作ってみようと思います。 こんな感じになります この記事の目的はブログアプリの開発を通してL5でCRUDを作れるようになることです。構成をなるべくシンプルにしたかったこともあり沢山の機能は取り扱ったわけではありませんが「PHPやMySQLは分かるけどFWはよくわからないな〜」とか「Laravel5 気になってるんだよな〜」という人には特におすすめですよ! さっそくインストールからはじめたいと思います。 ◯ インストール
この記事はLaravel 5 リリース後のLaravel Framework version 5.0を元に記載しています。 Laravel 5 Seedは、Larabelに先代から存在している、簡単に初期データとして追加できる機能です。 Larabel 4 (L4)との違いはほとんど無いです。ただし、注意点として名前空間を指定する必要があります。 名前空間とはなんぞやという方は別サイトでお調べください。なんだ、ややこしいL5から作業が増えたと思いますが、この名前空間のおかげで、自由な定義や配置ができるようになったそうなので、まあ、仕方ないですね。将来わかったら役に立つ、そういうものだと思いましょう。(かくいう私も勉強中です。。) 今回は、前回準備した、usersテーブルにseedを使って、初期データを登録してみましょう。 DatabaseSeeder.phpを修正 /database/se
laravelアーキテクチャ再考と中規模以上のノウハウ(年末特大号) Posted: 2014-12-31 02:02 | laravel PHP全般 年末なので、今年一年laravelを個人規模からそこそこ大規模まで利用したノウハウと、 個人的なポイント等を紹介したいと思います 若干主観もありますが、実際に使った時のものを混ぜて紹介します 実務で使う方や、企業で導入しようと思ってる方にも参考になる様に頑張ります 新原さんの自分流 Laravel 4 アプリケーションアーキテクチャ も是非参考にしてみてください 規模による考え方の違い まずはlaravelはそもそも何向きなのかという事ですが、 開発規模は実際のところは問いません 高速なレスポンス等が要求される場合は、ある程度の規模でしたらPhalconがオススメですが、 お気に入りのフレームワークでしたら何でもいいでしょう! って事にした
2ヶ月くらい使ってみたけど、悪くはないんだけど、なんか最近持ち上げられすぎてる気がするので、気になったところを書き出してみる。 あくまで個人的な感想なので、マサカリ投げるのは歓迎。 概要 Noticeを含むエラーが全て例外になる 最近のフレームワークは大体やってそうだけど、エラーを出すと全て例外を出すので、不要にcatchしなければ問答無用で落ちる。これにより、NOTICE出しっぱなしで何となく動いているコードを殲滅できる。標準にしてほしい。Fatalも例外として扱ってくれるが、Fatalを取れるのはプログラム終了後なので、特に意味はない。出力が同一フォーマットになるくらい。 ちなみに自前で実装するにはErrorExceptionのページに書いてあるので、この通り実装しよう。簡単である。 ファイルの配置が自由 composer autoload使っていればどれでもそうなんだけど、Model
PHPでのある意味「典型的な脆弱性」だったので記事を書くことにしました。 Laravel 4のCSRF脆弱性とは? Laravel 4.2.10以前にCSRF保護が無効になる脆弱性が報告されました。 この脆弱性は、Laravel標準のCSRF保護(csrfフィルタ)を簡単に無効化することができるものです。 既存サイトでは、今すぐ、以下の修正パッチを摘要する必要があります。Laravelのアップデートでは修正されません。 From ba0cf2a1c9280e99d39aad5d4d686d554941eea1 Mon Sep 17 00:00:00 2001 From: Taylor Otwell <taylorotwell@gmail.com> Date: Sun, 9 Nov 2014 16:29:56 -0600 Subject: [PATCH] Check type of toke
ログインが出来るようになったので、記事の作成や編集、削除はログインしていないと実行出来ないように制限をかけたいと思います。Laravel ではこれらのフィルタリングをミドルウェアの中で実行します。 開発者が修正して良いミドルウェアは以下のディレクトリに格納されています。 app/Http/Middleware/ ├── CheckForMaintenanceMode.php ├── EncryptCookies.php ├── RedirectIfAuthenticated.php ├── TrimStrings.php ├── TrustProxies.php └── VerifyCsrfToken.php その他、Laravel フレームワーク自身が提供するミドルウェアも vendor/laravel/framework 以下に多数あります。 RedirectIfAuthenticat
バージョンLaravel Framework version 5.0.6 処理の流れタマネギ構造最初のBootstrapな処理(アプリケーションを開始するための準備的な処理)と、最後にレスポンスを返す処理の間が、各Middleware(「Global Middleware」と「ルートに割り当てられたMiddleware」の2種類) の前処理と後処理で包まれたタマネギ構造になっています。 Middlewareのタマネギ構造を強調して処理の流れを書くと以下のような感じです。 Bootstrapな処理↓Global Middleware(1番目)の前処理Global Middleware(2番目)の前処理:Global Middleware(m番目)の前処理↓ルートに割り当てられたMiddleware(1番目)の前処理ルートに割り当てられたMiddleware(2番目)の前処理:ルートに割り当て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く