めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

牛歩のようにSledge(13)

すごく久々。mixiもプロフィール以外更新していません。
それはそれ。
[ThinkIT] 第1回:Webアプリケーションフレームワークとは (1/4)」を読みながら、ちまちまと触っていました。認証とかも、サクサク(?)出来たけれど、これでいいのかしら?認証は初めてつくったよ...。


package MyPro::Authorizer;
use strict;
use base qw(Sledge::Authorizer::Null);

sub authorize {
my($self, $page) = @_;
unless(my $user_info = $page->session->param('login')) {
return $page->redirect('/');
}
}

1;



package MyPro::Pages::Authz;
use strict;
use base qw(MyPro::Pages);
use MyPro::Authorizer;

sub create_authorizer {
return MyPro::Authorizer->new($self);
}
1;



package MyPro::Pages::Login;
use strict;
use base qw(MyPro::Pages);

sub dispatch_index {
my $self = shift;
$self->tmpl_dirname( 'login' );
$self->tmpl->param( session => $self->session->param('login') );
}

sub post_dispatch_index {
my $self = shift;
my $id = $self->r->param('id');
my $email = $self->r->param('email');
if( $self->check_user( $id, $email ) ){
#認証成功
$self->session->param('login','ok');
$self->redirect('./');
}else{
#認証失敗
$self->tmpl->param( error => 'Login Error' );
}
}

#認証の可否
sub check_user {
my ( $self,$id,$email ) = @_;
my $set_id = 'ユーザーのID';
my $set_email = 'パスワードとか、なにか';
if( ( $set_id eq $id ) && ( $set_email eq $email ) ){
return 1;
}else{
return 0;
}
}
1;


こんな感じで作ったんだけれど、「[ThinkIT] 第3回:認証 (1/4)」を見ながらでした。で、ここら辺と、TypeKeyを組み合わせたら、ユーザー情報を持たなくていいから(色々怖いから)、なにか作るのにいいよね?と自分に聞いてみたり。
なのに、ユーザ登録も初めて作ってみたり。初めてだらけです。
他にも

  • テンプレートに画像を表示させたりする場合のパスが思いつかず、うなっていたら、「htdocsの中におけばよかったのね」とばたついたり。
  • ダイアリーでのソース表示をDOSプロンプト風にしてみたり。

そんな感じです。