Sympa::WWW::Session.3Sympa - Man Page
Web session
Synopsis
use Sympa::WWW::Session; my $session = Sympa::WWW::Session->new($robot, {cookie => Sympa::WWW::Session::get_session_cookie($ENV{'HTTP_COOKIE'})} ); $session->renew(); $session->store();
Confirmation
$session->confirm_action($action, 'init'); sub do_myaction { # Validate arguments... $param->{arg} = $arg; my $next_action = $session->confirm_action($action, $response, $arg, $previous_action); return $next_action unless $next_action eq '1'; # Process action... }
Description
Sympa::WWW::Session provides web session for Sympa web interface. HTTP cookie is required to determine users. Session store is used to keep users' personal data.
Methods
- new ( $robot, { [ cookie => $cookie ], ... } )
Constructor. Creates new instance and loads user data from session store.
Parameters:
- $robot
Context of the session.
- { cookie => $cookie }
HTTP cookie.
Returns:
A new instance.
- as_hashref ( )
Instance method. Casts the instance to hashref.
Parameters:
None.
Returns:
A hashref including attributes of instance (see "Attributes").
- confirm_action ( $action, $response, [ arg => $arg, ] [ previous_action => $previous_action ] )
Instance method. Check if action has been confirmed.
Confirmation follows two steps:
- The method is called with no (undefined) response. The action, hash of argument and previous_action are stored into session store. And then this method returns
'confirm_action'
. The method is called with
'confirm'
or other true value as response. If action and hash of argument match with those in session store, and:- If
'confirm'
is given, returns1
. - If other true value is given, returns previous action stored in session store (previous_action given in argument is ignored).
In both cases session store is cleared.
- If
Anytime when the action submitted by user is determined, This method may be called with response as
'init'
. In this case, if action doesn't match with that in session store, session store will be cleared.Parameters:
- $action
Action to be checked.
- $response
Response from user:
'init'
, false value (not yet checked),'confirm'
and others (cancelled). This may typically be given by user usingresponse_action
parameter.- arg => $arg
Argument(s) of action.
- previous_action => $previous_action
The action users will be redirected when action is confirmed. This may typically given by user using
previous_action
parameter.
- The method is called with no (undefined) response. The action, hash of argument and previous_action are stored into session store. And then this method returns
- is_anonymous ( )
Instance method. TBD.
- renew ( )
Instance method. Renews the session. Updates internal session ID and HTTP cookie.
- store ( )
Instance method. Stores session into session store.
Functions
- check_cookie_extern ( )
Function. Deprecated.
- decrypt_session_id ( )
Function. Deprecated.
- encrypt_session_id ( )
Function. Deprecated.
- list_sessions ( )
Function. TBD.
- purge_old_sessions ( )
Function. Deprecated.
- set_cookie ( $cookie_domain, $expires, [ $use_ssl ] )
Instance method. TBD.
- set_cookie_extern ( $cookie_domain, [ $use_ssl ] )
Instance method. Deprecated.
Attributes
TBD.
See Also
Sympa::DatabaseManager.
History
SympaSession appeared on Sympa 5.4a3.
It was renamed to Sympa::Session on Sympa 6.2a.41, then Sympa::WWW::Session on Sympa 6.2.26.
"confirm_action" method was added on Sympa 6.2.17.