I'm running a RPC::XML::Server server and i want to add some form of authentication so that only specified users can access it's methods.
I thought of creating a rpc function like this:
sub CreateSession {
my ($user, $password) = @_;
return "Wrong user/password"
unless my_check_function($user, $password);
return my_new_session_id($user, $password);
}
This would check if user/pass is ok and if so return session id string. Now to call any function user would have to attach it's session id to rpc call:
sub foo {
my ($session_id) = @_;
return "Authentication error" unless session_ok($session_id);
return 'foo';
}
What do you think about this approach? Maybe some other suggestions? Maybe there is an existing solution to this?