Adding a Password Reset link to external systems

The information below will help you add a Reset Password link to the following external systems:

  • Outlook Web Access for Exchange 2007
  • Outlook Web Access for Exchange 2010
  • Citrix

Adding a Password Reset link to Outlook Web Access

You can configure form based authentication in Outlook Web Access using the default Outlook Web Access Logon form, or using an ISA firewall.

When modifying outlook Web Access, basic knowledge of ASP and HTML is recommended. Do not proceed with this procedure unless you can restore Outlook Web Access to its original state.

Modify the default Outlook Web Access 2007 Logon form

  1. Open the Internet Information Services (IIS) Manager console on your Exchange Server.
    NOTE
    A default Exchange installation adds the Outlook Web Access web site to the Default web site on the Exchange Server.
  2. Expand the Default Web Site node and locate the Outlook Web Access application.
  3. Right-click on the owa node and select Explore to reveal the local path to the Outlook Web Access Directory on your Server.
    NOTE
    By default the local path to the directory is C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa
  4. Navigate to the Outlook Web Access directory.
  5. Locate a folder named auth and make a backup copy of logonPageID:9B0A266C-1414-4546-8B7F-D327190B7973.
  6. Open logonPageID:9B0A266C-1414-4546-8B7F-D327190B7973 in an editor.
  7. Locate the following HTML section:
    Copy

    HTML

    <table <%=tblStyle%>><br /> <col class=nowrap”>
                        <br /> <col class=”w100″><br /> <col><br /> <tr><br /> <td nowrap><label for=”username”><%=UserNameLabel%></label></td>
                        <br /> <td class=”txtpad”><input id=”username” name=”username” type=textclass=”txt”></td><br /> </tr><br /> <tr><br /> <td nowrap><label for=”password”><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon)
                        %></label></td>
                        <br /> <td class=”txtpad”><input id=”password” name=”password” type=”password” class=”txt” onfocus=g_fFcs=0″></td><br /> </tr><br /> <tr><br /> <td colspan=2 align=”right” class=”txtpad”>
                        <br /> <% if (!IsDownLevelClient) { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”<br /> onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'”
                        onmousedown=”this.className=’btnOnMseDwn'”>
                        <br /> </input><br /> <% } %><br /> <% else { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”><br /> <% } %><br /> <input
                        name=”isUtf8″ type=”hidden” value=1″><br /> </td><br /> </tr><br /> </table>
  8. Add the highlighted code below to your file.
    Copy

    HTML


                        <table <%=tblStyle%>><col class=nowrap”><col class=”w100″><col><tr><td nowrap><label for=”username”><%=UserNameLabel%></label></td><td class=”txtpad”><input id=”username” name=”username”
                        type=textclass=”txt”></td></tr><tr><td nowrap><label for=”password”><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon) %></label></td><td class=”txtpad”><input
                        id=”password” name=”password” type=”password” class=”txt” onfocus=g_fFcs=0″></td></tr>
                        <span style="color: #008000;"><span style="color: #0000ff;"> <!–SPR–></span></span> <span style="color: #0000ff;"> <tr></span><br /><span style="color: #0000ff;">
                  <td><a href=<“[URL_TO_YOUR_SERVER]”> target=”_blank”>Reset Password…</a></td></span><br /><span style="color: #0000ff;"> </tr></span><br /><span style="color: #0000ff;">
                  <!–END SPR–></span><br /> <tr><br /> <td colspan=2 align=”right” class=”txtpad”>
                        <br /> <% if (!IsDownLevelClient) { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”<br /> onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'”
                        onmousedown=”this.className=’btnOnMseDwn'”>
                        <br /> </input><br /> <% } %><br /> <% else { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”><br /> <% } %><br /> <input
                        name=”isUtf8″ type=”hidden” value=1″><br /> </td><br /> </tr><br /> </table>
                    
  9. Replace the [URL_TO_YOUR_SERVER] text with your public Password Reset URL.
  10. Save the file.

Modify the default Outlook Web Access 2010 Login form

  1. Open the Internet Information Services (IIS) Manager console on your Exchange Server.
    NOTE
    A default Exchange installation adds the Outlook Web Access web site to the Default web site on the Exchange Server.
  2. Expand the Default Web Site node and locate the Outlook Web Access application.
  3. Right-click on the owa node and select Explore to reveal the local path to the Outlook Web Access Directory on your Server.
    NOTE
    By default the local path to the directory is C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa.
  4. Navigate to the Outlook Web Access directory.
  5. Locate a folder named auth and make a backup copy of logon.aspx
  6. Open logon.aspx in an editor.
  7. Locate the following HTML section:
    Copy

    HTML

    <table <%=tblStyle%>><br /> <col class=nowrap”>
                        <br /> <col class=”w100″><br /> <col><br /> <tr><br /> <td nowrap><label for=”username”><%=UserNameLabel%></label></td>
                        <br /> <td class=”txtpad”><input id=”username” name=”username” type=textclass=”txt”></td><br /> </tr><br /> <tr><br /> <td nowrap><label for=”password”><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon)
                        %></label></td>
                        <br /> <td class=”txtpad”><input id=”password” name=”password” type=”password” class=”txt” onfocus=g_fFcs=0″></td><br /> </tr><br /> <tr><br /> <td colspan=2 align=”right” class=”txtpad”>
                        <br /> <% if (!IsDownLevelClient) { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”<br /> onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'”
                        onmousedown=”this.className=’btnOnMseDwn'”>
                        <br /> </input><br /> <% } %><br /> <% else { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”><br /> <% } %><br /> <input
                        name=”isUtf8″ type=”hidden” value=1″><br /> </td><br /> </tr><br /> </table>
  8. Add the highlighted code below to your file:
    Copy

    HTML

    <table <%=tblStyle%>><br /> <col class=nowrap”>
                        <br /> <col class=”w100″><br /> <col><br /> <tr><br /> <td nowrap><label for=”username”><%=UserNameLabel%></label></td>
                        <br /> <td class=”txtpad”><input id=”username” name=”username” type=textclass=”txt”></td><br /> </tr><br /> <tr><br /> <td nowrap><label for=”password”><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon)
                        %></label></td>
                        <br /> <td class=”txtpad”><input id=”password” name=”password” type=”password” class=”txt” onfocus=g_fFcs=0″></td></tr>
                        <br /><span style="color: #0000ff;"><!–SPR–></span><br /><span style="color: #0000ff;"><tr></span><br /><span style="color: #0000ff;"><td><a
     href=<“https://specops1.corp.local/specopspassword/reset”> target=”_blank”>Reset Password…</a></td></span><br /><span style="color: #0000ff;"></tr></span><br /><span style="color: #0000ff;"><!–END SPR–></span><br /> <tr><br /> <td colspan=2 align=”right” class=”txtpad”>
                        <br /> <% if (!IsDownLevelClient) { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”<br /> onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'”
                        onmousedown=”this.className=’btnOnMseDwn'”>
                        <br /> </input><br /> <% } %><br /> <% else { %><br /> <input type=”submit” class=”btn” value=”<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>” onclick=”clkLgn()”><br /> <% } %><br /> <input
                        name=”isUtf8″ type=”hidden” value=1″><br /> </td><br /> </tr><br /> </table>
  9. Replace specops1.corp.local with the FQDN on your Specops Password Reset web server.
  10. Save the file.

Modify the default Outlook Web Access 2013 Login form

  1. Open the Internet Information Services (IIS) Manager console on your Exchange Server.
    NOTE
    A default Exchange installation adds the Outlook Web Access web site to the Default web site on the Exchange Server.
  2. Expand the Default Web Site node and locate the Outlook Web Access application.
  3. Right-click on the owa node and select Explore to reveal the local path to the Outlook Web Access Directory on your Server.
    NOTE
    By default the local path to the directory is C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth
  4. Navigate to the Outlook Web Access directory.
  5. Locate a folder named auth and make a backup copy of logon.aspx
  6. Open logon.aspx in an editor.
  7. Locate the following HTML section:
    Copy

    HTML


                        <div class=”showPasswordCheck checkboxLabel”><input type=”checkbox” id=”showPasswordCheck” class=”chk” onclick=”showPasswordClick()” /><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ShowPassword)%></div>
                        <br /> <% if (ShowPublicPrivateSelection) { %><br /> <div class=”signInCheckBoxText”>
                    
  8. Add the highlighted code below to your file:
    Copy

    HTML

    <div class=”showPasswordCheck checkboxLabel”><input type=”checkbox” id=”showPasswordCheck” class=”chk” onclick=”showPasswordClick()” /><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ShowPassword)%></div>
                        <span style="color: #0000ff;"><!–SPR–></span><span style="color: #0000ff;"><div class=”signInInputLabel” style=”font-size:14px;”><a
     style=text-decoration:none;color:#0072c6;” target=”_blank”
     href=”[URL_TO_YOUR_SPR Servers Reset Page]”>Reset
     Password</a></div></span><span style="color: #0000ff;"><!–END SPR–></span><% if (ShowPublicPrivateSelection) { %><div class=”signInCheckBoxText”>
                    
  9. Save the file.

Modify the ISA authentication form

  1. Open the installation directory of your ISA server.
    NOTE
    By default the local path to the directory is C:\Program Files\Microsoft ISA Server\.
  2. Locate and open the CookieAuthTemplates\Exchange\HTML\ directory.
  3. Locate and make a backup copy of Strings.txt.
  4. Open Strings.txt in an editor.
  5. Add the following to the bottom of the list of strings, but above the internal strings.L_SPRLinkURL=”https://[FQDN]/SpecopsPassword/Reset/ResetPageID:9B0A266C-1414-4546-8B7F-D327190B7973″
    L_SPRLinkText=”Reset Password…”;
    ;
    ;
    Microsoft ISA Server 2006 internal strings.
    ;
    ; DON’T CHANGE BELOW THIS POINT
    ;
  6. Replace the [FQDN] with the [FQDN] of your public Specops Password Rest web server.
  7. Save the file.
  8. In the CookieAuthTemplates\Exchange\HTML\ directory, locate and make a backup copy of urs_password.html.
  9. Open urs_password.html in an editor.
  10. Replace the <!- -Table 6- ->section with the following:
    Copy

    HTML

    <!– Table 6–><br /> <table cellspacing=0cellpadding=0″>
                        <br /> <colgroup><br /> <col class=nowrap”>
                        <br /> <col class=”w100″><br /> <col><br /> <tbody><br /> <tr><br /> <td class=nowrap”><label for=”username”>@@L_UserName_Text</label></td>
                        <br /> <td class=”txtpad”><br /> <input class=”txt” id=”username” name=”username” type=text/><br /> </td><br /> </tr><br /> <tr><br /> <td class=nowrap”><label for=”password”>@@L_Password_Text</label></td>
                        <br /> <td class=”txtpad”><br /> <input class=”txt” id=”password” onfocus=g_fFcs=0type=”password” name=”password” /><br /> </td><br /> </tr><br /> <tr><br /> <!–<td class=nowrap”>&nbsp;</td>–>
                        <br /> <!–Specops Password Reset–><br /> <td align=”left” class=”txtpad”><br /> <a href=”@@L_SPRLinkURL” target=”_blank”>@@L_SPRLinkText</a>
                        <br /> </td><br /> <!–<td> element below needs colspan=”2″ and no align property if above section removed!–><br /> <td class=”txtpad” align=”right”>
                        <br /> <input class=”btn” onmousedown=”this.className=’btnOnMseDwn'” id=”SubmitCreds” onmouseover=”this.className=’btnOnMseOvr'onclick=”clkLgn()” onmouseout=”this.className=’btn'” type=”submit” value=”@@L_LoginButton_Text” name=”SubmitCreds”
                        /><br /> </td><br /> </tr><br /> </tbody><br /> </table><br /> <!– End Table 6–>
  11. Save the file and restart your ISA Services.

Adding a Password Reset Link to the Citrix web interface

To add the Reset Password/Unlock Account hyperlink to the Citrix Web Interface, you need to customize the Citrix login page.

  1. Browse to <path_toyour_wi_site>app_data\include folder.
    For example: C:\inetpub\wwwroot\Citrix\XenApp\app_data\include.
  2. Locate and make a backup copy of loginMainForm.inc.
  3. Open loginMainForm.inc in an editor.
  4. Add the following tag after the Log On button.
    Copy

    HTML

    <!–SPR–><tr><br /> <td><a href=<“https://specops1.corp.local/specopspassword/reset”> target=”_blank”>Reset Password…</a></td><br /> </tr><br /> <!–END SPR–>
  5. Replace specops1.corp.local with the FQDN on your Specops Password Reset web server.
  6. Save the file.