Portal Logout Feature

 10 Replies
 0 Subscribed to this topic
 14 Subscribed to this forum
Sort:
Author
Messages
Carlotta McCormick
Basic Member Send Private Message
Posts: 7
Basic Member
We took advantage of Lawson's undocumented logout feature for the portal by uncommenting the button for portal in the portalrole script (a copied version of the default.xml). When Microsoft fixed issues with user authentication in IE 6.0 SP1, this logout feature no longer worked, and refused to clear the user cache.

Our company uses web-based clinical gateways, and it is imperative that we provide a logout feature that actually clears the user cache for the Lawson portal. Once they "logout", obviously the next person that clicks on the link is taken directly to the first logged-in user's personal information. Lawson's stance is that Microsoft broke our use of this undocumented feature and they will not provide any logout capabilities--it's our problem.

Do you or any of your users know of a way to fix this? We are a Lawson-hosted facility, so whatever it is has to be done on the client side or a script that we can modify every time there's an update.

Appreciate any help you or other users can give!
Deleted User
New Member Send Private Message
Posts: 0
New Member
It maybe the wrong answer, but it is the only 1 I know ... so far {i am a Lawson newbie }

try an IOS cache refresh? Try it OnExit from the program and that should clear ALL the cache.

My gut sez this maybe a nuclear bomb to your small bug, but as I mentioned before, it is the only 1 I know.

syntax:: http://[servername]/servlet/IOSCacheRefresh

Your Milage May Vary...but let me know.

Brian Boyd
Basic Member Send Private Message
Posts: 4
Basic Member
Take a look at this and see if it helps:

http://www.schronce.net/l...on/portal_logout.txt
Carlotta McCormick
Basic Member Send Private Message
Posts: 7
Basic Member
Thanks for replying. I did see the portal logout fix in the latest version of the guru newsletter. It works slow, but great! Now if I could just get the window to close after logout instead of going back to the login page.....
Brian Boyd
Basic Member Send Private Message
Posts: 4
Basic Member
If you figure that one out, please share it with the Group!
Phillip Feller
Basic Member Send Private Message
Posts: 12
Basic Member
There is a way to close the window after logout, but it requires a minor trick. You must redirect to a page that immediately closes itself.

You redirect to a new page by replacing the parent.location.reload() call with location.replace("closewindow.html"). (Assuming that you have commented out the 401 status conditional, because the httpRequest no longer returns a 401.)

Create a new page named closewindow.html that closes itself through its onLoad function:



Phillip Feller
Basic Member Send Private Message
Posts: 12
Basic Member
My attempt to include HTML in the previous post obviously didn't work. I'll try again without the angle barckets around the HTML tags (remember to put them back when creating the page):

html
body onLoad="this.focus();self.opener=this;self.close();"
/body
/html
Deleted User
New Member Send Private Message
Posts: 0
New Member
Hi, Can you make the logout feature work under Netscape? Under IE, it works fine. However, the LOGOUT button does not even show up under Netscape.

Thanks,

Tony
John Henley
Send Private Message
Posts: 3351
No, it only works for IE.
Thanks for using the LawsonGuru.com forums!
John
Phillip Feller
Basic Member Send Private Message
Posts: 12
Basic Member
In theory you could make it work for Netscape, but it would require modifications to /lawson/portal/v3.js. Removing the "if(logout.length>0 && lawsonPortal.browser.isIE)" conditional ought to make logout button appear. You would then need to experiment with ways to perform the logout: Lawson's kludgy method of passing invalid authentication credentials? the appropriate Netscape API for clearing credentials (nsIHttpAuthManager?)? closing the browser window?
Deleted User
New Member Send Private Message
Posts: 0
New Member
Thanks for the clues. Your suggestion led me to the following findings:

Under Netscape, in order to modify users' browser settings, I have to kind of opening up the security door to allow my scripts to work. There are two ways to achieve that:

A: Using Codebase support

1. Modify the pref.js file - which I do not have success to see it takes effect, after I change it. e.g, user_pref("signed.applets.codebase_principal_support", true);

2. Modify the configuration and set signed.applets.codebase_principal_support to true. This does work for me. This is important. It allow my script to work otherwise exception will be thrown.

B: Signed Script

This is involving using NSS Signing tool to associating your script and Jar file containing your certificate, by specifying tag in your script

After implemented either of the above method, the API such as
netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead");
to manipulating the history object, for example. or
user_pref("capability.principal.myapp.granted","UniversalXPConnect");
to clear browser cache, for example.

Now I know why Lawson excludes the Logout button for Nescape!

Hope above info helps someone in my shoe to solve his/her problems.

Thanks and regards.