2010年7月27日 (火)

CakePHPでSecurityコンポーネントを使ったらPOSTがはまった

限定された小規模な環境で使えるWebアプリをつくる必要が出来たので、CakePHPで開発中。Scaffoldをちょっと捻った感じの要件なのですぐリリースできた。こういう案件にはCakePHPは最適だと思う。

数日後に、一部の画面にログイン機能をつける要件が出てきた。ログイン画面をつくるようなことは求められてなく、BASIC認証でいいということだったのでSecurityコンポーネントでBASIC認証をつけた。これも数行加えるだけで完了。こんなかんじ。

var $components = array('Security');

function beforeFilter(){
        $this->Security->loginOptions = array('type' => 'basic');
        $this->Security->loginUsers = array('user' => 'password');
        $this->Security->requireLogin('admin_index', 'admin_view', 'admin_add', 'admin_edit','admin_delete');
}

BASIC認証は正常に機能しててOK。と思っていたら一部の画面でPOST処理をすると画面が真っ白になる現象が発生。調べてみるとcontrollerの該当actionに到達する前に真っ白になってるみたい。Webサーバーのアクセスログを調べるとPOSTメソッドの時だけ404 not foundになっている。同じURLでもGETの時は200が返ってる。なんのこっちゃ?と思った。

調べてみると、blackHoleに落ちてたみたいだ。確認のため以下のようにしてみた。

var $components = array('Security');

function beforeFilter(){
        $this->Security->loginOptions = array('type' => 'basic');
        $this->Security->loginUsers = array('user' => 'password');
        $this->Security->requireLogin('admin_index', 'admin_view', 'admin_add', 'admin_edit','admin_delete');
        $this->Security->blackHoleCallback = "securityError";
}

function securityError(){
        var_dump("Securty Component raize an error.");
}

これで該当アクションでPOSTしてみると、"Securty Component raize an error."と出力された。やっぱり落ちてるようだ。

どうすればいいかな?と思って調べたらてっく★ゆきろぐさんの記事を発見。まさにこれだった。たしかに該当アクションでは訳あって一部に自前のinput formを使っている。ワンタイムトークンチェックが利用できない状態なわけですね。

完全にform Helperで書き換えようかとも思ったけど、要求と労力のバランスからPOSTのトークンチェックをスルーする事に決めた。beforeFilter() を以下のように修正。

function beforeFilter(){
        $this->Security->loginOptions = array('type' => 'basic');
        $this->Security->loginUsers = array('user' => 'password');
        $this->Security->requireLogin('admin_index', 'admin_view', 'admin_add', 'admin_edit','admin_delete');
        $this->Security->blackHoleCallback = "securityError";

        $this->Security->validatePost = false;
}

とりあえずこれで正常にPOSTされるようになった。
もしかしたら Security::requireAuth() でセキュリティ対策をするアクションを設定して、今回はまったアクションを除外すればいいのかもしれないけど、時間がないのでやってない。あとで思い出したらやってみようと思います。

 

| | コメント (0) | トラックバック (0)

2010年3月12日 (金)

Google Devfestに行ってきました

昨日3月11日(木)、Google Devfest 2010 Japanが開催されました。
ボクは京都会場に参加してきました。
場所は京都リサーチパーク株式会社。500人くらい収容できる大きなホールでした。

中央のスクリーンに東京会場の様子を映して東京のセッションを聞きました。
ボク的にはHTML5関係の話やGo言語の話が印象的でした。京都会場はセッションAのみの中継だったんですが、セッションBのほうがHTML5などの話題が多かったようで、そっちが聞けなかったのがちょっと残念です。

でもオフィスアワーや懇親会ではいろんな技術について参加した方々と話し合うことができました。これは大変勉強になりました。さすがに事前テストをパスした人たちなので他の勉強会の打ち上げよりも一段話の内容が濃かった感じです。けっこうハイになって飲み過ぎましたね(笑)

個人で仕事をしていると、自分の技術レベルが世間的にどうなのか評価がしにくいです。ああいったイベントでレベルの高い技術者と話をするとすごく刺激になるので有り難いなと思っています。

ほんと勉強会やイベントは時間を割いて行く価値があるなと再認識しました。

| | コメント (0) | トラックバック (0)

2009年12月12日 (土)

大阪・京都合同のCSS Niteが開催

大阪・京都初の合同イベント CSS Nite in KANSAI, LP1 開催決定!

CSS Nite in KANSAIですか!かなりの参加者数になりそうなんですね。日本で著名な4つのCMSの解説みたいなんで仕事の役に立ちそうです。最近SOY CMSに興味があるのでちょうどいいかも。

よく考えたらCSS NiteくらいのイベントだとKansaiに統一してある程度大きな規模で開催してくれた方がありがたいかも。最近は○○勉強会みたいなのがたくさんあって小規模でマニアックな勉強会には事欠かないわけですし。

それと比べてテーマがまとまった大規模なイベントが少ないような気がします。参加する側からすると小規模→狭く深く 大規模→広く浅く みたいな学習志向差別化がしたいのでこういうCSS Niteの動きは個人的にはうれしいですね。まあ運営は大変だと思いますが、そこは収益をしっかり確保していただいてやっていただきたいと思います。良い内容にはお金払いますし。

12.20に詳細が公開とのこと。楽しみです。

| | コメント (0) | トラックバック (0)

2009年12月 3日 (木)

Gears終了宣言

Google Gears終了、HTML5移行を推進

そうですか〜。ついに終了ですか。
とりあえずおつかれさまでしたと言いたい。
Gearsが開発されなかったらHTML5でWeb SQL Database(WebDatabase)が採用されなかったかも。あまり活用されなかったけど、存在意義は大きいですよね。

WebDatabaseの進捗もいろいろあるようです。
最近追えてないからよくわかってないな〜。

| | コメント (0) | トラックバック (0)

2009年10月 8日 (木)

ウィニー事件逆転無罪

ウィニー開発者に逆転無罪 「公開、ほう助にならず」 - 47NEWS(よんななニュース)

おっと、無罪でましたね。
よかったよかった。長い間おつかれさまです。

| | コメント (0) | トラックバック (0)

2009年9月 6日 (日)

京都GTUG Android Hackathon に行ってきた。

昨日は京都GTUGのAndroid Hackathonでした。
勉強会に行けなかったりアイデアソンに遅刻したりしてほぼまったく勉強できずに行ったわけですが、前日に一夜漬けでやったおかげでなんとか開発できた感じです。

チュートリアルチームだったんですが、目標がコンパクトだったこともあって時間内にアプリを完成させることができました。
参考書のサンプルを改造した簡単なアプリだったんですが、結果として面白い改造になったので3位入賞しました。意外だったんですがうれしかったなあ。

写真は商品でもらったAndroidストラップ。
ひそかにほしかったんですよね^^ とてもうれしいです。
Ts3e0459


Google Android アプリ開発ガイド Book Google Android アプリ開発ガイド

著者:柳井 政和
販売元:秀和システム
Amazon.co.jpで詳細を確認する

| | コメント (0) | トラックバック (0)

2009年9月 1日 (火)

アップルストアでSnow Leopardを交換してもらった

どうもネットで予約したSnow Leopardは初期不良だったもよう。
けっこうインストールできなかった人がいるみたいですね。

ヘルプデスクに電話しても待ち時間が長いので、昨日大阪に出たついでにアップルストア心斎橋にSnow Leopardのディスクを持っていきました。そしたら交換してもらえました。通常ネットで買ったものはそっちで交換らしいんだけど今回は特別なようです。

昨日は帰ってくるのが遅かったのでバックアップをとるだけにしました。TimeMachineと念のために別のハードディスクに最低限必要なデータをコピー。

で、今日朝イチでアップグレードインストール。今回はうまくいきました!
やっとだな〜。

アップグレード後、デスクトップにハードディスクのアイコンが出てます。
あれ、Snow Leopardってデスクトップにアイコン出ないんじゃなかったかなと思ったら、Finderの環境設定でハードディスクのチェックがオンになっていました。単にこれだけのことだったんですね。

とりあえずチェックをオフにしてしばらく新しさを実感しておくことにしました。

今XCodeのセットアップが終わってとりあえず落ち着いた感じ。3.2になってるな。仕事しながら便利な変化に気づくといいな〜。

| | コメント (0) | トラックバック (0)

2009年8月28日 (金)

Snow Leopardをインストールしてみる

予約していたSnow Leopardが届いたのでさっそく入れてみることにしました。
まあMacのアップグレードなので何が起こるのかわかりせん。TimeMachineのバックアップのほかに最低限のデータを別のハードディスクにバックアップして臨みました。

。。。結論から言うと4回失敗。未だアップグレードできていません。
「必要なサポートファイルをコピーできません」というエラーで再起動がかかります。
なんかインストールの途中でDVDへのアクセスが止まっている模様。すべっているのかな?

  1. OSのアップグレード ×
  2. 新規インストール ×
  3. パーティションを切りなおして新規インストール ×
  4. もう一回パーティションを切りなおして新規インストール ×

という結果です。
夕方からMac使わないといけないのでLeopardを入れなおしてバックアップを復元しました。

これはもうヘルプデスクに問い合わせだなあ。
これはこれで今日のトークセッションのネタになっていいなと思いました。

今日はCSS Nite in OsakaでHTML5についてしゃべってきます。
http://osaka.cssnite.jp/vol18/

| | コメント (4) | トラックバック (0)

2009年8月23日 (日)

Google Apps Script 正式リリース

グーグル、「Google Apps Script」を正式公開

意外と早かったな〜という印象です。Google Apps Scriptが正式リリースとなりました。

Google Apps ScriptはGoogle Apps上でスクリプトによる自動処理を実現するものです。Google Docsでは提供されていません。現在はスプレッドシートで利用可能。ちょうどExcelのマクロのような感じですね。スクリプトはJavaScriptで記述します。

GmailやGoogleカレンダーの機能を利用できるAPIが使えるのでそれらと連動した自動処理をつくることができます。用件と機能が合致すればけっこう便利だと思います。しかし、Excelのマクロと同じくらいいろいろなことができるかと言われると、答えはノーです。Excelに比べていろいろ制限があります。

加えて、日本語での業務関係に本格的に使おうと思ったらいろいろと考えないといけないことが多いです。ボクはテスト版からいろいろとマクロをつくってみてますが、例えばGoogleカレンダーの時刻設定がJSTでできないなど困ることがあります。この件はGoogleへ質問を投げたら、「対応しないといけないと思ってる」って回答をもらいました。

ウチはOfficeやめてGoogle Appsに切り替えたからマクロも移行したい!と考えてらっしゃる企業さんもあるかと思います。でももうちょっと様子見がいいかもしれませんね〜。

| | コメント (0) | トラックバック (1)

2009年7月25日 (土)

京都GTUG がGoogle Japan Blogに掲載されました

Google Japan Blog: Kyoto GTUG が発足しました

すげー!Google Japan Blognに掲載されるとはなんか感動します。
これでまたGAE Hackathonの応募が増えるような気がします。現在でもかなり満員御礼な状態なので当日の収集がつくかどうか。。。まあそんな感じで盛り上がっても楽しいですよね(@_@)

そして、次のHackathonの募集も開始されました。次はなんとAndroid
こちらは昨日募集開始にもかかわらず既に応募が殺到しているもよう。Androidって人気なんですねー。

今週はIdeathon、来週がGAE Hackathonです。
何作るか考えないと。つーかGAE Javaの書き方勉強しないと!pythonでしか書いたことないから!

| | コメント (0) | トラックバック (0)

より以前の記事一覧