Logging on to Sage CRM from within an Intranet Page

Hints, Tips and Tricks

Technical Hints Tips and Tricks that cover customization and development using Sage CRM. API usage and coding are covered.

Logging on to Sage CRM from within an Intranet Page

  • Comments 5
  • Likes

Some time ago I was asked about how users of an company intranet could have a logon screen presented to them that was part of an existing intranet page that when completed would bring the user into Sage CRM.  In addition, once the user had finished their work inside Sage CRM and logged out they should be sent back to the Intranet page.  

At the time I was asked I was only able to refer the questioner to the article "Passing Parameters and Automatic Logons".  This article will take this a little bit further.

In the example below I have assumed that all that is needed by the company is that a logon box is presented, like the one below. Once the credentials are completed and submitted the browser window will switch to the Sage CRM screens.And when the logout button is pressed it is returned to the intranet screen.

To allow enable this to happen I added the HTML for the Sage logon fields into the Intranet page:


<div align="center">
<input type="hidden">
<FORM AUTOCOMPLETE="off" name=LoginForm METHOD="POST" ACTION="/CRMdpp/eware.dll/go?logout_url=http://richardsj-lt/CRMSelfServiceDemo/intranetlogon.html">
<BR>
<DIV ID=LOGONBUTTON>
<TABLE><TR><TD CLASS="viewbox">User Name &nbsp;
</TD><TD>
<input name="EWARE_USERID" CLASS="viewbox" value="" maxlength=50 size=20></TD></TR>
<TR>
<TD CLASS="viewbox">Password</TD>
<TD>
<input type="password" CLASS="viewbox" name="PASSWORD" value="" maxlength=20 size=20>
</TD>
</TR><TR><TD CLASS="viewbox">
<input type=hidden value='' name=CHANGEPASSWORDCLICKED>Change Password</TD>
<TD CLASS="viewbox">
<input type=checkbox name=CHANGEPASSWORD maxlength=20 size=12 onClick="{this.form.CHANGEPASSWORDCLICKED.value='Y';document.LoginForm.submit();};">
</TD></TR>
<SCRIPT>
var LOGONBUTTON = document.getElementById("LOGONBUTTON");
var msgint;
function Msg(){clearInterval(msgint);LOGONBUTTON.innerHTML='<BR>Please wait...<BR><BR><BR><BR><BR><BR>';}
</SCRIPT>
<TR><TD COLSPAN=2> <tr><td rowspan="2" valign="bottom"><div align="left">
</div>
<div align="right">
</div>
</td>
<td onClick="msgint=setInterval(Msg,100);document.LoginForm.submit();" onMouseOver="window.status='Log On';return true;"  onMouseOut="window.status=window.defaultStatus;return true;">
<div align="center" CLASS="viewbox">Log On</div>
</td>
</tr>
</TD>
</TR>
<DIV style="position:absolute;clip:rect(0 0 0 0)">
<INPUT TYPE=SUBMIT CLASS="viewbox" ONCLICK="msgint=setInterval(Msg,100);">
</DIV>
</TABLE>
</div>

Note

You will need to make sure you are using the correct path in the Form Action.  I have also used an additional parameter in the URL "logout_url" which allows me to control where the screen is returned to after the user logs out from the system.


<FORM AUTOCOMPLETE="off" name=LoginForm METHOD="POST" ACTION="/CRMdpp/eware.dll/go?logout_url=http://richardsj-lt/CRMSelfServiceDemo/intranetlogon.html">

Another word of warning is that this is not an official method of invoking Sage CRM so there may be some things I have not taken into account.  You would need to test this technique thoroughly yourself.

Comments
  • Juste one word : GREAT !

  • GREAT BUT...

    At the first logon, it doesn't open the CRM screen but the default CRM logon screen.

    If I click on the "previous" button of Internet Explorer, I obtain the good screen.

    --> I'am connected but the screen doesn't load.

    If I disconnect and immediately reconnect, everything is ok.

    Thank's for your help.

  • I did say this is not an official way of invoking Sage CRM.  But having said that I think the problem only occurs for the first person to logon.  Subsequent logons work ok.

  • Tanks, i will test with multiple users.

  • Is there any way to bypass the user already logged in screen and have it automatically choose to kick the current user off and login?