Hi,

If you want to link in to BASE 1.x pages from other pages on your site, I've
finally found out a clean way to do it (with one tiny change to the source
code).  I had posted to one of the BASE mailing lists a while ago about this,
but that was a half-baked solution.

DISCLAIMER: I give no assurances that this approach is in any way safe or
secure.

First you need a guest account which has absolutely the bare minimum
privileges (important: deselect "read more user info") and a password
which you are happy to make public (or I guess no password would also
work).

Then you can link in with links like this:

http://your.base-server.org/index.phtml?i_login=GUEST&i_password=GUEST&l=data&m=experiment_list.phtml

You should "url escape" (e.g. url_escape() in Perl CGI module) everything
after the m=

If you want the "Return" link to behave OK (without nesting frames) add 
url_escaped "&location=xxx" at the end - where xxx is the same location as you
put after the m=

To illustrate this, here's an example link to our base server:

http://base.vectorbase.org/index.phtml?i_login=vbguest&i_password=readonly&m=experiment_edit.phtml%3fi_e%3d3%26i_tab%3d0%26location%3dexperiment_edit.phtml%3fi_e%3d3%26i_tab%3d0

However, you will find that if you repeatedly follow such a link to your base
server it will fail every other time with a "session expired" error.
Here's a small patch to the BASE code which seems to fix this (and doesn't
seem to break anything else so far...).

--- include/web/login.inc.php   (revision 49)
+++ include/web/login.inc.php   (working copy)
@@ -30,7 +30,7 @@
        BaseControl::verifyUserId();
 
        // Has the user submitted username and password?
-       if(isset($i_login) && $i_login != "")
+       if(!$loggedIn && isset($i_login) && $i_login != "")
        {
                if($curSession->attemptLogin($i_login,
                        $i_password, $_SERVER["REMOTE_ADDR"]))



meanwhile I continue to familiarise myself with BASE 2 :-)

HTH

Bob.

-- 
Bob MacCallum | VectorBase Developer | Kafatos/Christophides Groups |
Division of Cell and Molecular Biology | Imperial College London |
Phone +442075941945 | Email [EMAIL PROTECTED]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]

Reply via email to