CINXE.COM
Central Authentication Service
<!DOCTYPE html><html> <head> <meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>Central Authentication Service</title> <link rel="stylesheet" type="text/css" href="/cas/webjars/normalize.css/8.0.1/normalize.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/bootstrap/5.2.0/css/bootstrap-grid.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/material-components-web/14.0.0/dist/material-components-web.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/mdi__font/6.5.95/css/materialdesignicons.min.css" /><link rel="stylesheet" type="text/css" href="/cas/themes/inria/css/cas.css"/><link rel="icon" href="/cas/themes/inria/images/favicon.ico" type="image/x-icon"/><noscript>Inria - theme inria</noscript> <meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/></head> <body class="login mdc-typography"> <script type="text/javascript" src="/cas/webjars/jquery/3.6.1/jquery.min.js"></script> <script type="text/javascript" src="/cas/webjars/datatables/1.12.1/js/jquery.dataTables.min.js"></script> <script type="text/javascript" src="/cas/webjars/es5-shim/4.5.9/es5-shim.min.js"></script> <script type="text/javascript" src="/cas/webjars/css-vars-ponyfill/2.4.7/dist/css-vars-ponyfill.min.js"></script> <script type="text/javascript" src="/cas/webjars/material-components-web/14.0.0/dist/material-components-web.min.js"></script> <script type="text/javascript" src="/cas/themes/inria/js/cas.js"></script> <script> if (typeof resourceLoadedSuccessfully === "function") { resourceLoadedSuccessfully(); } $(() => { typeof cssVars === "function" && cssVars({onlyLegacy: true}); }) var trackGeoLocation = false; </script> <div> <header id="app-bar" class="mdc-top-app-bar mdc-top-app-bar--fixed mdc-elevation--z4"> <nav class="mdc-top-app-bar__row"> <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-center"> <img class="inria-logo-img" src="/cas/themes/inria/images/inria_logo.png" alt="Inria" /></section> </nav> </header> <aside id="app-drawer" class="mdc-drawer mdc-drawer--dismissible mdc-drawer--modal"> <div class="mdc-drawer__header"> <h3 class="mdc-drawer__title">CAS</h3> <h6 class="mdc-drawer__subtitle">Central Authentication Service</h6> </div> <div class="mdc-drawer__content"> <nav class="mdc-list"> <a href="/cas/actuator" class="mdc-list-item"> <i class="mdi mdi-cogs"></i> <span class="mdc-list-item__text">Actuator Endpoints</span> </a> <hr class="mdc-list-divider"/><a class="mdc-list-item" href="https://apereo.github.io/cas"> <i class="mdi mdi-file-code-outline"></i> <span class="mdc-list-item__text">Documentation</span> </a> <a class="mdc-list-item" href="https://github.com/apereo/cas/pulls"> <i class="mdi mdi-call-merge"></i> <span class="mdc-list-item__text">Pull Requests</span> </a> <a class="mdc-list-item" href="https://apereo.github.io/cas/developer/Contributor-Guidelines.html"> <i class="mdi mdi-information"></i> <span class="mdc-list-item__text">Contributor Guidelines</span> </a> <a class="mdc-list-item" href="https://apereo.github.io/cas/Support.html"> <i class="mdi mdi-help-circle"></i> <span class="mdc-list-item__text">Support</span> </a> <a class="mdc-list-item" href="https://apereo.github.io/cas/Mailing-Lists.html"> <i class="mdi mdi-email-newsletter"></i> <span class="mdc-list-item__text">Mailing Lists</span> </a> <a class="mdc-list-item" href="https://gitter.im/apereo/cas"> <i class="mdi mdi-message-text"></i> <span class="mdc-list-item__text">Chatroom</span> </a> <a class="mdc-list-item" href="https://apereo.github.io/"> <i class="mdi mdi-post"></i> <span class="mdc-list-item__text">Blog</span> </a> </nav> </div> </aside> <script>var countMessages = 0;</script> <div class="mdc-dialog cas-notification-dialog" id="cas-notification-dialog" role="alertdialog" aria-modal="true" aria-labelledby="notif-dialog-title" aria-describedby="notif-dialog-content"> <div class="mdc-dialog__container"> <div class="mdc-dialog__surface"> <h1 class="mdc-dialog__title mt-lg-2" id="notif-dialog-title"> Notifications </h1> <div class="mdc-dialog__content" id="notif-dialog-content"> <div class="cas-notification-message mdc-typography--body1"> <h6 class="mdc-typography--headline6 mdi mdi-alert-circle">Non-secure Connection</h6> <script>countMessages++;</script> <p class="text-wrap small">You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS.</p> </div> </div> <footer class="mdc-dialog__actions"> <button type="button" class="mdc-button mdc-dialog__button" data-mdc-dialog-action="accept" data-mdc-dialog-button-default> <span class="mdc-button__label">OK</span> </button> </footer> </div> </div> <div class="mdc-dialog__scrim"></div> </div> <script type="text/javascript"> (function (material) { var header = { init: function () { header.attachTopbar(); material.autoInit(); }, attachDrawer: function () { var elm = document.getElementById('app-drawer'); var drawer = material.drawer.MDCDrawer.attachTo(elm); var closeDrawer = function (evt) { drawer.open = false; }; drawer.foundation_.handleScrimClick = closeDrawer; document.onkeydown = function (evt) { evt = evt || window.event; if (evt.keyCode == 27) { closeDrawer(); } }; header.drawer = drawer; return drawer; }, attachTopbar: function (drawer) { var drawer = header.attachDrawer(); var dialog = header.attachNotificationDialog(); header.attachDrawerToggle(drawer); header.attachNotificationToggle(dialog); }, checkCaps: function (ev) { var s = String.fromCharCode(ev.which); if (s.toUpperCase() === s && s.toLowerCase() !== s && !ev.shiftKey) { ev.target.parentElement.classList.add('caps-on'); } else { ev.target.parentElement.classList.remove('caps-on'); } }, attachDrawerToggle: function (drawer) { var topAppBar = material.topAppBar.MDCTopAppBar.attachTo(document.getElementById('app-bar')); topAppBar.setScrollTarget(document.getElementById('main-content')); topAppBar.listen('MDCTopAppBar:nav', function () { drawer.open = !drawer.open; }); return topAppBar; }, attachNotificationDialog: function () { var element = document.getElementById('cas-notification-dialog'); var dialog = material.dialog.MDCDialog.attachTo(element); return dialog; }, attachNotificationToggle: function (dialog) { var btn = document.getElementById('cas-notifications-menu'); btn.addEventListener('click', function () { dialog.open(); }); } } document.addEventListener('DOMContentLoaded', function () { header.init(); if (countMessages == 0) { window.jQuery('#notifications-count').remove(); } else { window.jQuery('#notifications-count').text("(" + countMessages + ")") } }); })(mdc); </script> </div> <div class="mdc-drawer-scrim"></div> <div class="mdc-drawer-app-content mdc-top-app-bar--fixed-adjust d-flex justify-content-center"> <main role="main" id="main-content" class="container-lg py-4"> <div id="content" class="d-flex justify-content-center"> <div class="d-flex justify-content-center flex-md-row flex-column mdc-card mdc-card-content card w-lg-25"> <section id="loginForm" class="login-section login-form card-body"> <div class="d-flex flex-column justify-content-between m-auto"> <div> <div id="serviceui" class="mb-4"> <div class="d-flex align-items-center p-2"> <h1 class="inria-title-txt">Central Authentication Service</h1> </div> <div class="d-flex align-items-center p-2"> <img class="inria-logo-img" style="max-height: 60px;" src="/cas/themes/inria/images/shield.png" alt="" /></div> </div> </div> <div class="form-wrapper"> <form method="post" id="fm1" action="login"> <div id="login-form-controls"> <div class="cas-field my-3" id="usernameSection"> <div class="d-flex"> <label for="username" class="mdc-text-field mdc-text-field--outlined"> <input class="mdc-text-field__input" id="username" size="100%" type="text" accesskey="u" autocapitalize="none" spellcheck="false" autocomplete="username" name="username" value=""/><span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label"><span class="accesskey">U</span>sername:</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> </label> <script type="text/javascript"> /*<![CDATA[*/ var username = ""; var disabled = false; if (username != null && username !== '') { $('#username').val(username); if (disabled) { $('#usernameSection').hide(); } } /*]]>*/ </script> </div> </div> <div class="cas-field my-3 mdc-input-group" id="passwordSection"> <div class="mdc-input-group-field mdc-input-group-field-append"> <div class="d-flex caps-check"> <label for="password" class="mdc-text-field mdc-text-field--outlined mdc-text-field--with-trailing-icon"> <input class="mdc-text-field__input pwd" type="password" id="password" size="100%" accesskey="p" autocomplete="off" name="password" value=""/><span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label"><span class="accesskey">P</span>assword:</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> </label> </div> <div class="mdc-text-field-helper-line caps-warn"> <p class="mdc-text-field-helper-text mdc-text-field-helper-text--persistent mdc-text-field-helper-text--validation-msg text-danger"> <span>CAPSLOCK key is turned on!</span> </p> </div> </div> <button class="reveal-password mdc-button mdc-button--raised mdc-input-group-append mdc-icon-button" type="button"> <i class="mdi mdi-eye reveal-password-icon" aria-hidden="true"></i> <span class="sr-only" lang="en">Toggle Password</span> </button> </div> <div class="cas-field my-3"> </div> <div class="cas-field"> <input type="hidden" name="execution" value="26c72965-b911-4ddb-964c-c744a4eb6464_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJalF3WVdJeE9XRmlMV1UwTVRBdE5EQmhaUzFpTnpOakxUTXlaV0ZrT0dVMVpqTTJPQ0o5LkxZN2VGZ09EUnpZNVVEUHZaVzV2TTRDb2VDal9DT1ZGajR4TjlxR1hTTXNXM0hZQVF4VWpfejdLV0cweXJwMnRsbWZZRVh5Z25xWXZKRGlpQVg4cFgtNlNCY3FxWVNBOVRhTVREM3ZlZGVicmZETG1HRWRsQlR2aVdac2d0eG5fUDhFeUtWRlU5MVNNMTNQTi1DZDdKenhYRWhMLW9vV0hpelp3cnBPbG1VMV9fd3hRaWVjVVRGVEVZTmlUc0JwS3ZERDZXcXpNNGk3VkVzbmNvQ1MzQjNoU2FsakpxT0FKT3hDU3RGdWFMRS0wMkJOTC1CSV9CLXFlTTBzMF94NFZMdWJMZldnUV9TRF9BN3pzcEJjQVpGU0pfQUN5cVktVVg1aFVEQVJNOFZlNnI3YlRGVzNLb3VTaVZ2dG5iQnhPaU1jUnBTMUQ3clF1LUZnYnEtY3F5ak1sc1IxZmRzQXFGZDRiS0ZMUWExU1RyTWYyLTlCcU83TXQ4Y1cwVENnbGpNWDVpb3I0LUNHMlhyT2tablkzS2ExMm5DMms1dFpQVGVJNVNxQjE4WGp5TGRjNjlUUzFDbm1XUEdkNjE4Zk8yOENWWHMwUTNWMnc4OGhfbWgtS1dGenJrcG5lejQ3QklDSjNnT2VEc0lRRmNUeGFhMzlxakVKTWhHQjNPZkg1TlVWX2UxLWYtNFhOdE1rNjREUlpySExsMDBsaVh0U21lamJpU21yV3phSFB2akxEa09PcWFndDVSR0ltQ014azJKdHlQWEppN2JsMnpwUXB3OHQtNkt3NUhEOXFsUkYzd2dVR2p5ZmozdnkxT29mRXpCQUNkNHBsSXVlUFdCcHBPaEVzQldzYkhPYy1VTXk2TjVYUFVtSWpfN2RaZ2JnNG1LSWpSUEhvNE04UWVoeFozVXlrQ1JDazNmVnYyVlFqbUZqcTdpbEpRc1ZmYy0wWVFsYVY1UnRhcjlUbUxQQjRSSEdpc1hac0tETjA2RjNBVXRhaDBIZ2pIWE1xUThjV2FtZ0lPOFA1enFESzRpQUs3OXVPZnZWQXhWS2pGYWNJU2FudWlNc1pXZ25kRUxPdHBuX1FVckh3WHF0eGpXR05zak12czZQTjN1dmFJX1RHYTZqZWZmOFFZZ085ZktiWjhmX0d2M2VvSjVQNEp1RHJOVlBNMWdlRDlnV0c2V2JMTHd2QXdXbllJd0hEblgyTF9vTVRPN0I3RjA0OEVtanJZS2wzZDBYQk5aY2d5ckI4ckNHNlI1RDlGNVNGM1NWbDFrMmMtb3V2al9CM2E0a2tPV3lFNGR5UHJXZ0lRSjd6T19PeE1SWWt0X1c4X0lKc1FROXI5WHQzOWJlSUx0MmR6cWgyamJhRnkycmc1NEtKNFJjbkJfeDVmNXBtYkFBcEF0M1VwUkhnT2ViOG1FS2tjSEhPZzJHWV9LMU1EWDUwaFl5dEdZME9xVUMtcVRtRlJJZXE0TzRXS0h3bnlBd1BsYTdsWFE3dHNnMS1LcDljWFNETE5ydXQ1WFpOZ0Z4Z2ZQdUtwNHZRNURyV3FucmV2MlNqb1lUNFZFRDVRSXotUWl2bFo4NjIwY0FwUGpVY3hQekJ4Q1dWQWJSMmJoVEYyU013TE9xY0E1UGE3amZmWDUyaFVKbU9ycUtZcDZsRWktRVo3dUpLUk5VS3FCS0dNS0ZNNV9CY2hIXzBfQ3YtLWFVY2JHVkhmMGxhNnZvaEM1RDRmaWFrMFJVcGF3QWxJV0VTTjVwNHFNRkNvWTZEX3hNMXY0OWVPLWFQZ1dNVzkwTnFiekgyR2hIWkpGaFl0MnhNRnFmb2hkQ3dqS2RzcHRiUk9VSFppeklZamM2TDZIOW9OZ1F1VlVkMHlUS21wSFZmS1lZaXVqdjZ5YzU0YXN6UFo2X3l2aEFaczdSUXlQbnl5QkxjUEQ0UEl4UmFJcnotQU5LVFV2NVIycDAtdDlKY1hEeV90NXY5dzF4VEVRTklTRmV2bGJDUlNBREpJcXZtMEFEOHJuZlRfSkNTMzJsNzgyTV95cnhURmxhMTZETVhudU80MXJIWmZTcXZpQkFtZlhzZnFqamFQUEVDR2xQWkRRZm1kUUhzbTJiblRiUW5lVkFILWo5c0tBeXBNVkhmQURGNTc2cG43UjRJZFk0RWtRSlphaGh6RmZFTUJGMkVxTEtUbG5PTFFzcElkZHJ3UHNxMnpSXzlqR211TDBLeGNDcXpidVdhdWFtT1VKZnAybmxuZERmbGdrS2pMcHNEQUZHVHZxMlBkT0UtVVJGQkRJUHdOQUZUVDlJbnd3eVAwX1JXbGstNmI5QUJQVFc1aTZ3dmVhdWhOY0FjNTYxcXJ0Vkd4S1ZqTzZrSHpuQm9JeVRudmpHSkVPVkcyNmtXN1pROXJGV1lQcGxBUE44SG5IMmpITkZ0aXAzWmpWbDJ0YmZBZjk0M0plSWZhWEpSZHdrUmhlUG1yUGpjc3k0eFEtODBySzdGZVRTVkxEblRrOWZiXzRiaXdqMjEzUzM2UDQ0U0xQbV9KX01Cdm1BejFxRXlZOHZzNlJiUU1rX28xRG1hZTZWX1QyNWhaY3FyR2EzNWQxNk95RTR1RUxJWHYwRDh4ZDVxTnZPLTJQSWwtWHEtX2FLUEF2b0dCak00d1dISl9nUGJJWjZYVkRLR05VZFJiOEtwX2xrSEVJQklXd2JGcl9iN05Iek0wZV92cVlMYW5Ec3pMVjdDQTZQMHlGTF95cWRES1o3Q19tNFRPeFRZSGxGY2FUYnpWVFdiUmpwMk04SXp0X2JBdm9vbEVIVGM4WVNCSWZSaVpnOVlTYjN0Q2VueXNkbGdEbnNEeFU4NTFRTjdZX2UzcUVDd1ZuM2phb2NaeVR4VmVIY3B1aHdCQVJINWM0dHVLMHF6dUhqNHpUOXhNblNWODFGTEhQUXpuSV90ZDYyRjh5MlFVVkhoNFdvSGtBckwtVER2OXdDVzRLMHNMaTl4Q3RsWm4yTnhQSFFOQTdyOHkzRkNfbTQxandsdzI4aVU5aWZBNk1tV2lwQ1hPOHFsWjl5WHpWMEQwcWhYd1FxMWhEeFpiUHV6Qkk5djVQRTlXQUNTbnV3cHJBZ1BtNTZ0bmdnSnc0YUF0dWpCTElYT3ktenh2NXlVOW5FNDVYQl90M08yU0dGYTZzZ0k0c3VlS3I0ZzUyZG91VXpGNU84Tk1jOWI4dGh4NE1KM3ByeVFXQjEzdFl5UHJrWWZTME1EcldkZ3l5MUhVTGt1SlBCZkcwcjVPNkJGbEZPb29aVmhhMEhfNWtBV1BBbUI3US05NVZ4VHZGOGRkTnBVUXBmZlRYZ2RraTBVTUhPSVV6VEpwWGVjRHEwcmNVQlBwSHRWZlpyNnZLMEp6eGI5UTRBb0VuX3ZxeVJ5LURPVHRMbEZyNC1HY05ERmxSWS13R3JvenNPMEFiS01HYndaWEJqeDVUV1BhX09aXzBjS25qejlrYVgtVzJFNEM4ekN3VXBnM1d0WUE3cVU2MC1wX0JZenpiRVg0LWVqdDlBY2oydXQxYWtSRFhGUElxalpzV0FOZU9hXzJEaFBjdnJlNWJrcHZMbFh6YUlyaFEybW50endEcXdkaUxCT2lLRzdxaE55Tm8ySXUwOUFpcV9lMTlmZEFEb1NGMC1QNUk1VUtVUUZFOFB0cjEzdnhqcktLWHMtVVh6bGtPSWJiOXFTdnFaRnljLVMwQnZTUmRwbmRsUmpMeWFQVWFRTVdyd3BMZ3pSSEV5Rm5LTU5MaHF5ZDdtd2VNLVF2aXc3OHJrSE8zbG9zUExBVV8zX1pEekRNU1c4WndjdDZ5c3JZaktQM01IV1gxUTZSREZwZ2tDXzdjUnV5SnNhcWJXa0JRTnItLUxpWUIzZUFCaHNJUlRiZUs1dmVORDlKcExyVVdHT1NaaFlfeTdVekZXcEc4SHgzckRnZXh1bzEzZUpBNDZFbjdKQ2wtOXV0b1lHVTlrNWUwblNBTGlYQzdyN1dsQVZjXzdnb2pnUVFlQkhUNy1obW5hNnRGQzN1NTFSVm5TNkc3YXFvcENvYkN6VzVwRW82dlFxR3hPNXFzN2t6NG9SeldpeEVGV0V6OW5BdnktNzhPOHlfeHlXYVY2MWtPNDJOdDBxN19vSUpoVHVPRTFuU1NjZjBZb09GNy1ORE9jZDkyeW52aHRxNXAzNmhHd0h4UEgyMXpLUThLaVN4OFkwM19CTDZVYW1TOEdPS3R0cnhuQlhSdzRmRDYxWmZwZk82bDBQcFljb3JCZ0JROEtBb0ZibFp6V0UzcDZ1Uzg0R3ZMSWViYjc0VG13cGJwOWQ0dnJiZzBMald0eDZaNEJ4cnhyRG5yYWVWc0xKYjVKblpZbG54WWlFcFNyZG9wNmh0RjBKUnVUdVNUNEJJTW45aW5lSFhVakNialhmc29DRHZzQWRNM29ra294X2tvWlI0MmpxM3BkdWEwSWV0ak02UFA2SllvWTF1Wld5Q1pxZ0p6Mk5rZVVnYUtrUEs4eVR2Qlp1eW9GRGY0cjVpWThLVFdWRjdNQ1lXZ04wUF8wNldJVFAzSDBGTjRBbVdPbWpRNFlRSDlSYzhvSGtQTU0yeFpnTmozWFhqVDM5b2E0bi1JNWVad0h0OEVveFNhb3F0aVktNEgzaEJ5c0kyOF9KR0RfSHRNRV9MSEVqYnJ4emZKbW01cVM0azdKZTNud0M3VmNtRHEwWTJmNTV4cHl0NFExSzRHTlpSVW4yUHRvamZWRmJLTENad01SQUt2emtQY0t5d2V5eHB6dUpLRW9yQXlaR2tjSTN6cS15YU1ubFNwUUVIeW1Xc2ZRTldwc3Y5dW1BemNNblRqTlBuQ0JabFhYNWFKSGdRc3IxYkJVUzNEVzJrTi1oN3hHUGp0cEdMSlpDX243OF9zU3lWRkZ3alJsRnoycFNYay02N3dlVTloaTNDQnlhWmUweXc5azVLWm1rRFRIbUVNczRjcGJmYVc2ZTZXTmNJNEVUbGRKQWd3U2wxZjNIX2JwcVBfSUU0OW5mSFlaX1Y0d3gwQTVid1lwdUttVzZ5cEVfY2lQWjRXT0VlOVVheGVJdUZZUGpEbGo4emtrTmo0Q21aOUZlX0RScm5OUld2UDlqcTEzYnE4ZEFQRGY0N3pSYVNiVjdBdnU5US16dllyR3ZjZnQ3R0pXRGVZS2pzdWYzdGNlLVBHMTh6emZ0M2lkY1pycm5XOUxORnUyWksxTlE3bVBfZmV3UzZxeGNMREVWS3NvR2FIWVdkM1FfYW9KeVIwQW9fTnJobEc4RWxSR0d4aUhWR0Qzd0JMN3hoMTlwS1pHNDFwUnprYkQyUHlDLXQ2R0VYQnFBOXEyVFRUcFBGTkl6LWNybmNpTkxiT0FEMEZjcHh4UUQtMlMwQWpBaHFPZlVwYm5zTmUtQ0hfQkZpdVJLbWhybUttZ3RubkZOWjhxa2JrSjk1MWQwdnl5SUtVZmNQLTd1Y2JfaUVxSE9qVmFfVGFxYzRwdEdNWDJfWk1JR1J3ZXliS2NJNW14cTZtTnVQbFJ3SlYwakR5NDByMUktVnpCYU1uU0xWdjk4LlFmYmxkWlNObEpyaVZ4eVlVVVhlcWR5NXV3M3F5RDR0QlFCMTNsUDFreFg5NGY2UUVYbU9IMjhiRVl3bGRTSTZFUV9WT21QUWJzQkpldHRQSTR1cHlB"/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/></div> <div> <button class="mdc-button mdc-button--raised inria-btn-img" name="submit" accesskey="l" type="submit"> <span class="mdc-button__label">LOGIN</span> </button> </div> </div> </form> <hr class="my-4"/><span> <div id="pmlinks" class="my-2"> </div> </span> <script type="text/javascript"> /*<![CDATA[*/ var i = "One moment please..." var j = "LOGIN" /*]]>*/ $(window).on('pageshow', function () { $(':submit').prop('disabled', false); $(':submit').attr('value', j); }); $(document).ready(function () { $("#fm1").submit(function () { $(":submit").attr("disabled", true); $(":submit").attr("value", i); return true; }); }); </script> </div> <span> <div id="sidebar"> <div class="sidebar-content"> <p>For security reasons, please <a href="logout">log out</a> and exit your web browser when you are done accessing services that require authentication!</p> </div> </div> </span> </div> </section> <span> </span> </div> </div> </main> </div> <footer class="py-4 d-flex justify-content-center cas-footer"> <span id="copyright" class="mr-2 d-inline-block">Copyright © 2005–2020 Apereo, Inc.</span> <span class="mr-2 d-inline-block">Powered by <a href="https://github.com/apereo/cas">Apereo CAS</a></span> </footer> </body> </html>