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

Hi !

This may be kind of odd one.

I am currently working on application integration, in which the parent application is on NT/IIS/ASP and has it's own user logon session management.

I am developing a child application running on Mod_apache on NT, which would be called by this parent apps. I want to use the same session informtion stored by parent including user-logon.

Since this is going to be a logon related info , I can not get it in the form of encoded URL where the parent calls the child.

Can anybody suggest how I can use the same authentication information and provide a seamless integration without asking user to logon again?

Is there any way I can call IIS session info using something like Apache::ASP and then fetching it in Apache session?

Please help.
  • Comment on Perl Win32 Apache/IIS Session Management

Replies are listed 'Best First'.
Re: Perl Win32 Apache/IIS Session Management
by $code or die (Deacon) on Jan 16, 2002 at 16:55 UTC

    I don't think you can access ASP session data from anywhere other than an ASP within that application. You can't even share the data between websites on the same IIS server.

    You could iterate through the Session collection, and save the data to disk or database before passing the user to the apache site. And just pass them over with a unique id that's difficult to guess - perhaps an MD5 hash of some sort. Then in the Apache application, query the database or file and read in the session data to your favorite Apache Session manager.

    The problem is that if you pass the user back to the parent application, the Session might have expired by then, forcing the user to log in again. So you might need to increase the Session time in IIS. I would look in to whether it's possible to move your new application to IIS, or the original application to Apache - it might make things easier.

    Simon Flack ($code or die)
    $,=reverse'"ro_';s,$,\$,;s,$,lc ref sub{},e;$,
    =~y'_"' ';eval"die";print $_,lc substr$@,0,3;
A reply falls below the community's threshold of quality. You may see it by logging in.