rubyのログイン認証を読む

rubyベースのCGIで、かつログインを含む実装を探そうとしたが、いくつも見つからなかった。phpやperlのコードを引っ張ってきて書き直そうかと思ったが、ActiveRecordの概念を受け継いだものはそうはないだろうし、ruby的な書き方と少し違うだろう懸念があった。そこで浮かんだのは、railsにある、いくつかの認証のプラグインだった。

中でもacts_as_authenticatedはメール認証も含んでおり、ソースコードを読む題材としては良いコードだったので、読み進めていった。railsのコードは、rubyのメタプログラミングの部分を綺麗に書こうとしている節があり、今まで自分の書いてきたコードよりもシンプルで勉強になる。

しかし抽象的過ぎて読めない部分が出てきた。param[:User]がいきなり出てくる部分があるのだが、その元になる変数の出所が分からなかった。調べたところ、Rails勉強会@東京 第22回の解説が非常に分かりやすく、読ませていただいた。

認証のValidate自体をModel部分で行ってしまうことによって、Controllerで例えばログイン部分のチェックなど煩雑な部分を書くことを避けている。Controllerでは、Model部分を使って最低限のことしかしない。そもそもMVCの思想そのものであるが、ソースコードを読んで改めてその思想に触れられた。

現状ではrailsはview部分にどうやって遷移しているのか分からない、根底のロジックがどうもつかめないため、利用していないが、配備のしやすさ、データベースのmigrateのしやすさがあるので、そのうちrailsにも挑戦してみたい。

railsは誰でも書ける、と話を聞いていたが、そうだろうか?

あれを自分用にカスタマイズして書くのは難しい気がする…

カテゴリー: チラシの裏 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください