Bug #5547
openCouldn't get the Register Data Form after login under Register Data tab on Sanparks skin
0%
Description
When you click "Register Data" tab on Sanparks skin, it will show a login form if you haven't login. However, it will show a successful page without any clue to get the register data form when user successfully login. I think the correct behavior should be showing the register data form.
Updated by Jing Tao about 13 years ago
If you login on the sanparks home page, you will get the login form when you click Register Data link. It seems that the main login action doesn't link to the Register Data form.
Updated by Jing Tao about 13 years ago
And the login/logout action on the home page seems not affect the login status on the "Register Data" at all.
Updated by ben leinfelder about 13 years ago
I've fixed the first issue where after logging in from the "Register Data" you are now redirected to the registry form to fill out.
It's true that the the Perl session and the Java session seem to be unrelated for login status.
1.) If we use the Perl registry to logout, we successfully logout in the eyes of both Perl and Java:
/knb/cgi-bin/register-dataset.cgi?cfg=sanparks&stage=logout
This action removes the session in the registry and then also calls the Metacat servlet with action=logout.
But if we only logout via Metacat servlet, then Perl thinks we are still logged in.
2.) For login, the home page uses the Metacat servlet (action=login) and the Registry uses the Perl/CGI session to login. If you use the registry to login, it too goes through the Metacat servlet and both systems "know" that you are logged in. If you only use the Metacat servlet, the Perl side does not know you are logged in.
We can make the SANParks home page (skin) use only the Perl registry for login/logout to solve this. But that means the SANParks skin will require the Perl registry be installed. Thoughts?
Updated by Jing Tao about 13 years ago
I like main page still keeping to use Java login. So user can do uploading data, schedule workflow et al without installing Perl registry. Is it possible perl session to get java login info?
Updated by ben leinfelder about 13 years ago
I played around with that, but it basically means the Perl code would have to act as a proxy for the browser session and interact with Metacat as a client. But the Metacat client (in Perl and in Java) establishes its own session with the Metacat servlet and does not have a facility for pretending to be from a different session.
Updated by ben leinfelder almost 13 years ago
We are pushing this off 2.0.0 release as something to work on for SANParks.