menth0l has asked for the wisdom of the Perl Monks concerning the following question:

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?

Replies are listed 'Best First'.