session.pm

来自「Punjab is a jabber XMLRPC/SOAP/REST clie」· PM 代码 · 共 95 行

PM
95
字号
package PunJab::Session;=head1 NAMESession -=head1 SYNOPSIS                                                                                Not done                                                                                =head1 DESCRIPTION                                                                                This package provides session management methods=cut                use strict;use Digest::SHA1;use Digest::MD5 qw(md5 md5_hex md5_base64);sub new {    my $class = shift;    my %args = @_;        my $self = bless { %args }, ref($class) || $class;    $self->{registry} = {};    return $self;}sub register{    my ($self,$sid) = @_;    $self->{registry}->{$sid} = {};}sub unregister{    my ($self,$sid) = @_;    delete $self->{registry}->{$sid};}sub logged_in{    my ($self,$sid,$val) = @_;        $self->{registry}->{$sid}{logged_in} = $val if defined $val;     return $self->{registry}->{$sid}{logged_in};}sub activity{    my ($self,$sid,$val) = @_;        $self->{registry}->{$sid}{activity} = $val if defined $val;     return $self->{registry}->{$sid}{activity};}sub check_session {    my ($self,$sid) = @_;    return 1 if defined $self->{registry}->{$sid};    return 0;}sub registry{    my $self = shift;        return $self->{registry};}sub key{    my ($self,$key,$sid) = @_;    return $self->registry->{$sid}{'key'} if not defined $key and not defined $sid;    # generate the key     my $shaobj  = new Digest::SHA1;    $shaobj->add($key);    my $sid = $shaobj->hexdigest();    #$self->registry->{$sid}{'key'} = $key;      return $sid; }1;__END__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?