牛歩のように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プロンプト風にしてみたり。
そんな感じです。