CINXE.COM
CAS - Central Authentication Service Login
<!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>CAS - Central Authentication Service Login</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <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="../static/css/material-components-web.min.css" th:href="@{#{webjars.material-components.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/webjars/datatables/1.12.1/css/jquery.dataTables.min.css" /><link rel="stylesheet" type="text/css" href="/cas/css/cas.css" /><link rel="shortcut icon" href="/cas/favicon.ico" /></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/js/cas.js"></script> <script type="text/javascript" src="/cas/js/material.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 green-bar"> <nav class="navbar row green-bar"> <div class="col"> </div> <div class="col-6 align-items-center text-center"> <span class="cas-brand mx-auto"> <a href="https://www.ndsu.edu" class=""> <img class="ndsu-logo" title="NDSU" src="/cas/images/bison-login.png" alt="NDSU Bison Login Logo"/></a> </span> </div> <div class="col"> </div> </nav> </header> <!-- <div th:replace="fragments/logindrawer :: logindrawer"/> --><script>var countMessages = 0;</script> <!-- <div th:if="${'true' == #strings.defaultString(#themes.code('cas.notifications-menu.enabled'), 'true')}" class="mdc-dialog cas-notification-dialog modal" id="cas-notification-dialog" role="alertdialog" aria-modal="true" aria-labelledby="notif-dialog-title" aria-describedby="notif-dialog-content"> <div class="mdc-dialog__container modal-dialog"> <div class="mdc-dialog__surface modal-content"> <h1 class="mdc-dialog__title mt-lg-2 modal-header modal-title" id="notif-dialog-title"> Notifications </h1> <div class="mdc-dialog__content modal-body" id="notif-dialog-content"> <div class="cas-notification-message mdc-typography--body1" th:if="${staticAuthentication}"> <script>countMessages++;</script> <h6 class="mdc-typography--headline6 mdi mdi-alert-circle fas fa-exclamation-circle" th:utext="#{screen.defaultauthn.title}"/> <p class="text text-wrap small" th:utext="#{screen.defaultauthn.heading}"> <i class="mdi mdi-google fas fa-google"></i> Static AuthN is ONLY useful for demo purposes. It is recommended that you connect CAS to LDAP, JDBC, etc instead. </p> </div> <div class="cas-notification-message mdc-typography--body1" th:if="${not #httpServletRequest.secure}"> <h6 class="mdc-typography--headline6 mdi mdi-alert-circle fas fa-exclamation-circle" th:utext="#{screen.nonsecure.title}"/> <script>countMessages++;</script> <p class="text-wrap small" th:utext="#{screen.nonsecure.message}"> Unsure Connection </p> </div> <div id="cookiesSupportedDiv" class="cas-notification-message mdc-typography--body1" style="display: none"> <h6 class="mdc-typography--headline6 mdi mdi-alert-circle fas fa-exclamation-circle" th:utext="#{screen.cookies.disabled.title}"></h6> <p class="text-wrap small" th:utext="#{screen.cookies.disabled.message}"> Cookies are not supported by this browser. </p> </div> </div> <footer class="mdc-dialog__actions modal-footer"> <button type="button" class="mdc-button mdc-button--raised mdc-dialog__button btn btn-primary" data-mdc-dialog-action="accept" data-mdc-dialog-button-default data-bs-dismiss="modal"> <span class="mdc-button__label">OK</span> </button> </footer> </div> </div> <div class="mdc-dialog__scrim"></div> </div> --><script type="text/javascript"> (material => { let header = { init: () => { header.attachTopbar(); material.autoInit(); }, attachDrawer: () => { let elm = document.getElementById('app-drawer'); if (elm != null) { let drawer = material.drawer.MDCDrawer.attachTo(elm); let closeDrawer = evt => { drawer.open = false; }; drawer.foundation.handleScrimClick = closeDrawer; document.onkeydown = evt => { evt = evt || window.event; if (evt.keyCode == 27) { closeDrawer(); } }; header.drawer = drawer; return drawer; } return undefined; }, attachTopbar: drawer => { drawer = header.attachDrawer(); let dialog = header.attachNotificationDialog(); if (drawer != undefined) { header.attachDrawerToggle(drawer); } if (dialog != undefined) { header.attachNotificationToggle(dialog); } }, checkCaps: ev => { let 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: drawer => { let appBar = document.getElementById('app-bar'); if (appBar != null) { let topAppBar = material.topAppBar.MDCTopAppBar.attachTo(appBar); topAppBar.setScrollTarget(document.getElementById('main-content')); topAppBar.listen('MDCTopAppBar:nav', () => { drawer.open = !drawer.open; }); return topAppBar; } return undefined; }, attachNotificationDialog: () => { let element = document.getElementById('cas-notification-dialog'); if (element != null) { return material.dialog.MDCDialog.attachTo(element); } return undefined; }, attachNotificationToggle: dialog => { let btn = document.getElementById('cas-notifications-menu'); if (btn != null) { btn.addEventListener('click', () => { dialog.open(); }); } } } function supportsCookies() { try { document.cookie = 'testcookie=1'; let ret = document.cookie.indexOf('testcookie=') !== -1; document.cookie = 'testcookie=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; return ret; } catch (e) { console.log(e); return false; } } document.addEventListener('DOMContentLoaded', () => { if (material) { header.init(); } if (!supportsCookies()) { countMessages++; window.jQuery('#cookiesSupportedDiv').show(); } if (countMessages === 0) { window.jQuery('#notifications-count').remove(); window.jQuery('#cas-notifications-menu').remove(); } else { window.jQuery('#notifications-count').text(`(${countMessages})`) } }); })(typeof mdc !== 'undefined' && 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 flex-grow-1"> <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"> <!-- <img th:if="${registeredService.logo}" th:src="${registeredService.logo}"/> --><div id="servicedesc" class="ml-2"> <h5><i class="mdi mdi-web"></i>Library Proxy</h5> <!-- <p th:text="${registeredService.description}">Registered Service Description</p> --></div> </div> </div> </div> <div class="form-wrapper container form"> <form method="post" id="fm1" action="login"> <div id="login-form-controls form-group"> <h3 class="text-center"> <i class="mdi mdi-security fas fa-shield-alt"></i> <span>Enter Bison Login & Password</span> </h3> <section class="cas-field form-group my-3" id="usernameSection"> <label for="username" class="mdc-text-field mdc-text-field--outlined control-label w-100"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label">Bison Login:</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input class="mdc-text-field__input form-control" id="username" size="25" type="text" accesskey="u" autocapitalize="none" spellcheck="false" autocomplete="username" required name="username" value=""/></label> <!-- NOT WORKING, always displaying, so comment out <div class="mdc-text-field-helper-line"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg" aria-hidden="true"> <span id="usernameValidationMessage" th:utext="#{username.required}"></span> </div> </div> --><script type="text/javascript"> /*<![CDATA[*/ var username = ""; var disabled = false; if (username != null && username !== '') { $('#username').val(username); if (disabled) { $('#usernameSection').hide(); } } /*]]>*/ </script> </section> <section class="cas-field form-group my-3 mdc-input-group form-group" id="passwordSection"> <div class="mdc-input-group-field mdc-input-group-field-append"> <div class="caps-check"> <label for="password" class="mdc-text-field caps-check mdc-text-field--outlined control-label mdc-text-field--with-trailing-icon control-label w-100"> <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> <div class="password-group"> <input class="mdc-text-field__input form-control pwd" type="password" id="password" size="25" required accesskey="p" autocomplete="off" name="password" value=""/><button class="reveal-password align-self-end mdc-button mdc-button--unelevated mdc-input-group-append" tabindex="-1" type="button"> <i class="mdi mdi-eye reveal-password-icon fas fa-eye"></i> <!-- <span class="visually-hidden">Toggle Password</span> --></button> </div> </label> <!-- NOT WORKING, always displaying, so comment out <div class="mdc-text-field-helper-line"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg" aria-hidden="true"> <span id="passwordValidationMessage" th:utext="#{password.required}"></span> </div> </div> --><!-- <div class="mdc-text-field-helper-line caps-warn"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--persistent mdc-text-field-helper-text--validation-msg text-danger"> <span th:utext="#{screen.capslock.on}"/> </div> </div> --></div> </div> </section> <section class="cas-field form-group my-3"> </section> <section class="cas-field"> <input type="hidden" name="execution" value="9f581ce3-8725-4df7-9856-d1bde761caf5_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVk0WlRZMU16WmlMVGM0T1RNdE5EUXdOUzFpT1RBMExURm1NVE0wWmpZeU5UWXlZeUo5LlRqTzMzUnZVVmJ3bzMzTlNOellVeklqVkpkUHg2T1V6czRnSUdIZlZRM2ozSzR6ajR2cDdwZXZFSEJyYzN4NjZoRHNaWUlQdjg3VmxSMm5FZFU0bEN3aXJNaHRYcTVlbmpUNk5VaUxHMTFaNUJkOW9sSW1zUVZHWnZ2X3RWWDVlMkprSDkwVUNTZy1adXlUdjlNcVVhc2syNEdpY0RnXzFockhLa0Q3QlJPbTdjbGR6YVh3Q1N6T05ZeXBnc0JnSklnRno5cVJJYUhOUFVRVFpYSENMSWN6R0J4U2M1RWdCUk1GNU05bnNTU0Y3ZlNRckZ1SUxGejhScjJyaE44akFYTjRxNzV5cWswVC1TVFJiRi00Q2xtbEZURHBKN1FxejdHbTVQdWpsY2liMFprZ2hHRGFpeHhVQWNXZE9RVWJ5dU5MUVVhVGJRZ1h0Q1JFR2xNUThMa2J4XzBDcXRCd1AzMHpsbUltTHdaQzZKa2lUNnJFb2ZCeTB2c1Q3WlhzbTZwSXJ0QnNzZnU0U1lYZlVSWTJ2cU1ja1VLb1VwZVdaMTZ5a0pjOVZEUVl1TzkzWlREZlh0QnJNb3NGUEszMXlPX3FvWnU5UElCZ19TWm5jaXNWSmQwNUVNbnhKejJLS0xDcVBhdW92c21SaHhicDRkZW9IaFhLWmdHejFyLXV0QkVkOEl6U2lpT1BZcmctMWZ6NlktRUEyTFh1UzVybzU0SjNQWFpTcFh4dGptbHc0NWNKSzJuVG9YUVVyMms3SXZXVXoyTnVaLTNSZUhWT0hoeTBRZ1NQY3AwRjI3MEVybkFGWjA0eDI1RS1tbnFkQnA4UzBVUW9POFIxLU9pSjVsXzhQR1BGYUdCT1dxT1NPUGtfLWg2aFZrbk9GV2dZbWlBQVI2UXN2c1ZMaTRza21GUnN2ZTZMWHpWVXc5UUtLaE93U1d5THROZVRoYmR6akViR0NRTWhoNEhUakFOdG1BTk5HNW5paWtDMUhRTk9tM3R1eVpHeGgxN0xOSWEwLWswNUt0bURSZExrTFM4WFB1dEE3Y0NlblpCUnhkUV9EZEIxd081UmRkNUo4UVVjcVMzWW1GdGw5SXVyQl9PaXFMSldyM0RNMzdYTXBZeExNa1RHR2txbmRSQ3RKT1RXVWJRbHhBR2d6WWRSN0kxZGp2ZkwwaWp1b3R5REdFMkttSElnbWl0STJVbkt4RjZaV0Z3OHRqSVRBbEZFazEzQl9rMDN6ZWM0OGduSVE5WnU5dG5zTXBicWxKM3cyOEJxR05Zc1hSM3RXMkIxMzc1djRxbFZOdlY1UHVRTFAzX0YtNXYxZjY0X1JkMUtfVXFsRUxZZlViU3p0VzJjbWdMcE5nOVVyRXRlZUZOTFBHdXRSdTZWd3Q5X2E5MUQ5V3ZKS2ZZWUgzRU9QRW5zc2Q3UTVubzhSdVZHUVJUS0stbS1XQjNvSUV2OVVvSXhPUVVaVDhJRlowWlVhOC1KYjhkXzZaejh6WEJrOV9VQjFDa3dhV2ZvU3laemVONlFCYjRnMTFhejdlS09hQUNYWXFtQUZPYTY4VzEySGRuY1pSdFhnYmpDSzd0X3oyNXJ4Q3hpOXNYV3F2U0R2WS1RWXo0VWMxY3c1cmw2a3JOYkxlS1o5amVUTllQYi13WThERGRmMlB1WE80RERkbEpKRFY0RGR1UE9paUZZUFlGa1dZZ3Iyc3hteWE2ajVycHVxSUYzblZVQXFaU0x1ZkV3UGVZWkJJU1RKUGdSRFcxbm9VaW9OQTV0X1NoVnlPMmRPX1VoNkR2eHRjN2NWZzNLaFRMZVp0NEEzRUktQVZkNXU3akdBTFBMdHFnTTY2R3NaeXI0RHU0aGZHVE9TVnNVRWtaMEZwYUJ5MEg1TDhyckMxSnhYS21WN0QxN2dDWnZTbWVvM0NoaGVTSl9Hd3pSV19ndm16dXAxQzRkRDEyNE81Zzh1eW5maTQ2TzBnbGZzSXpMQXB1enpyTXhQaFlfSHdjRlA4YlYtOEVZWmloYlBzNzFOdE9VSGw0UDd1aHNubW5FajBCWFZicE9GTUMtZ0tneUkyVjJJb0ZBYlNpUC1kNWh0aTBaSXNqdnhEemFVVXNlb05hVHlKWkIzQjh5aUEyNXRtNjROck9PVzFKamZpRFE4cUtUSjh4R2IyVHdKX1NnTzNJdEt6eU1HYjMybWxQd0pkU3VjTnQ1T0QzaWF2U21yLWpYU1JGQnNuZDB0VTZCM1drZVE4Y0E1OWIyNVRidTh1dlB0R3NaX3B1MlQ0RUxNQU4xbkI2Vjc3MTRQMUFBWnZpOFB3aTh2QjFYY2FuNFZidGkxUkozV1ljQU15azdOTDN5SEdSQ2d3WHcyX1JRTjNwOXZ1WHdnQzg2dTBpY0hReDN6NllnRGxKMnVQQ0VmLXlNWHVwa1gyTXk4SmxDNmllck4zTUw4VlZ3LW5xY3h4VV9Mb09HcDMySlJwNGE0dC1rRGY3QWVWWllnZ3dOYWE3c0hWQkFmLS1ScjlKNmlFYkJCU2Z5OTRJMEMyQ3FkV3hIVERUNjFkMzhJb285d2NiMFhIeEljTjJSdlhTemt2NGk3dXMzTVZtRml2YThXX2xzM3JJTGhaTmJzeFZDNWRUZ0MtVWFfcTZWYUNyVHVsdVBFU0tsMzc4MVJDa3d6aTRVak52eG9RQjFGQVhybWdmUk9pd21CMFlzZ3VHR1dfdzZyeGlsTzlQZUxyeFRBTXBIZXZPNGZ3OUY5ZFhOT2RCeHNNb2FGRkFreGxhS1o0UE8yVFhoTXBjN2V4NFdsUWppb05DVHNnU0tON0ZDMWxMWFdlald5OXEzOW1ubS1PdFpnUC1lYXpVVzhKTHNTNTVaWG8yYWYyaDZjalRzd0VlVi1NRzBkVzlkZnNLVXhMNHU0SzFoNFJHZWVDYXNDQkMtcjJQM0pVanhnUllfajNtcGtIUXpKbzNZelo5UDhjRURpc2RFR0I1enpFYk56bXdpdXYzMGRBdU5NZFhYV2JVRmJsbkhsUHNDSGpRSUJtdkp2ZmdtQ2FxbF9CWEZnYkhSNGFUUHhVUDI0UE9fcjVMVG1pdy1vVlFwaTB2R3lrSHU4eWZHWUlia1ZaZU1XZF8zRkQ3TXRMVnp4UFhOM2R0NFNJQ2lrNXBpcGd2QTNUZWcyQUt0REs2M1R6V25nU2VkY3RjbXB1cnJKNTVwN2g4WERpTEh6Q1JGRE9aUXBzUHItV1hsYm1WemdZNGp3bDVtZGNqenJQNzBSSENGb1pNSjliSTI2QjladFhWOVRWWHdYWGppVGFzaDNSTTBCdlJYQ0dDeS12OVRxZzZ3T2x2bC00Q29YSGZmSWVhTjhMczlZN1FnYW9QMDZUVGg3S0RSM1dYeFZfSGFDQnE2WElYRzJ5QTNKMThNY29DaUJ4YUtMZnhRVE82MnV1NG1hUUdNUDYzTXVwazIyWDhBYUZqbkJzMURMaDhQWDhlTEVxa2p0NTh6QmVmSjJNYjczM2tOV1g3YzZnNWlwOTlzdkxuTHpmUmxRbU51NU94S2E1NjdEWm1sRVNyYUxOcENXbEdjc3hGRlNSZE5aUEhXMUpxSDlvT1k1NUNDVVc5ZnRlYXNyVWZOenZxdjh2YVlHTjdKMF81UFNMQXRaM3hyNUpmeVVkbjhPR0RtamFVY21VTlN6TXMtczk4S2w5X3ppNzJLN2FpZ0syS0ppS0tvQk5GaEp5VXI4TmJzMGJUR2lqOWRYeGVLR1h6bFg4c0VMSDJLVENvMHZMTk9SUFpucWNoNFdQdDU3bkxkR1c5RzZhQWdJSnZsZzBETnhwMExmNFNGQjZTUGtQVHVmQ19XbFE5R2RIWFV4eVlSeE9oaTNsYmswUEdiNU4yZHVmckZ1Z2VmZ1hXSC02YVdaLTdMMjdoRHVZNXpya0JDNDZuMVQxblNKUzZmVjQ5azBiSGZzVzdMbU03Q0JxUGNWajd1T094c29TbmJNcE9ieldtMGg1WHZCbE1uV2hHSHQ0WnZzU2RUS1hNaXJMajljMkdpSUdNcnBxWEp5RDFVWmw1UC1OSXJvcERNdGI3NkpQbkVibDRIV3N2MENwS3hqeTdQWTZPVi1mWmVUb3NvX0xDZUVnQlc4WVpiWjNwSjFpRk9WN0gtVExYTWxIbWl0dU1TQzdkSVk4QVRhXzJBc0J0ZGNvVUdSVGM2R3FlSzJaWVowdnlfblM2ZGRMVnRiSEVkLUpIMVgyelpXZnNpZTlQUkh3ejI1VV95RGJMWjAtSHNGQk1CaGtDNWhOUmVDcDJGWnZMa3BuR1VkMDhfUjNOMWhicHhHY2RYa281ZDM3ekk3U0gwZzZ1WkMyYUZwZ1hpNlVzTWM1dTFFMVdOdW5adzA3N1VMamRyQlNJNklFVUhLZHEwR21peTc4ckF0S3VsTENSM1F6V1B4SG1sR1pKUVBmMzNqYW9VVDlRc3pKRmhZdjdBcThjNjhlV2plRWpEbDZRVGRBUERCS2JIYllNbEk4cUE4aVVRMXNScDNhUVZ4T3F6Y014NTl1OXlOcHhOUVdfbHhEQnpNc3ZHVGtGVk1TWlVtVDdrZWZwdXhVV1lJOXVkSTFuT3BScHl5RmhodTM2T2tpVFAtWExUeDJ4Q1V5R3dheEJNLW5TeTQ0elhHWFRxcldPRXJ6elh6R0tGVDUwS2t0MUZaalVpdFhyVDV2czZwVktBREtCazIxSE9iRmZuYlN5SjgwQXhxcnhqSlJfUXVPcWFzVTBaUmdSSlhDMGl0cHB3WENGdDItWXZvMlcyMzFSVVRrOFhHMERuV0FLbmE0YXNsOVlfck5EdExzZVRoZ3hGTWZxOXdrYlNLeVNYT0xxYkpkN1AxbnFNbl9taTc0TkZTVFgwVDNkT3dycmtsLXhEYWh2MDN5QzRhUThLd1lzNjhScnVZZE1hV2xIYldtTjU5NEdLZ3JkWFZkemJfVV94NkJYX3VnU1lDSk9NenR5Tks1emktcFoxMWdtMGFCakFDRl9fckhyLVhUalFYS2t4ZmFBOS1CTno5ZmdfZzJJbk1yWWRKVGVyNWJJN1NwRFZoTkZ6d3E1bUZseEJGbktSZ1BRMEZfSzJhWlc2bEhPNk5zSVZtVWxuSkVyWnFJSV9QbWVrWXdxc0tqcGY5SG0zWUlMSVdlWFY1MEpUWWRZSjM1TE1XMWdMLWVseXNWWXJ4ZzNFcm4wR3FtZjRvbVd1R25VMFBuYkVEWnhrNXRZVDJVT2RsV2ZqcUI0NG9xN2swQ2otbTFjblVxckpyNGhFV0R4UHNQNzJkajdYMmhYeU5xdXZVV3dhak1mNF96UzA3YndIUncwSVhqTHZHNl92XzUwZ0lSVzdWUnRiUnh3SnNxT3pVbEE5Rmc4UzBwWFd1YmR0X0t5NldtMWFLS0xYbHpFNUMtaFJ3SWo4YTNVand6MzVvMTJzeURFUXJ4aFVVNnZLbC1iN09FdTNiT3BjNTljVFFNTWJ3QmdQajJFOXlKUXlVc3Vnc1pibWVwdTY0WG1BcXJtV0d0UE0zMXpPV21Gd1I1ak5QcGQyd0hxR01QY08zZW1FLU15aTlJRHFtLUNqRzJBNVBPQWFGcURiYlVERXhfWXFTa1V2eG1ha3JBM3VmZ0tuNnZWWDFFUTZvVXN5aVhuRXpYYk5pNjd0YVJYeXhsSW1TZnJ1YUpLRmtHQTZNSkdFNGk2YmVEaEctY0tOSTF3REMtelZWZXNYdWprdk9qQmRjVTFUd2RXTVZFODBKVXY3SkluZl9Cb29qdk13SEkwWnN3VXhETnNBd1YxamdvVm5VNWY3WGVKRUJnQzVfeGpvekRLZkd5ZGt5OUF4SllhSEZXMUdwZGJlOWJ5NTZQRElPLWNQNklNQ1YyemxlZFAzWE5Ha0JYbndTSndUbks5UW9rNlkycTl6T01jQXcuQl9IZTlYekhScWJCMDRCQ3dvUkZ0dFJGeGEzMXo0R2w5aWE2eGVKN0s1M2tuNTNmNGNhZ1V4R182dk1VTU1wV2N4emZrdWFlTFhNQmktRjYwVlJHYkE="/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/></section> <!-- Broken with universal prompt, so remove for now. <section> <input id="publicWorkstation" name="publicWorkstation" value="false" type="checkbox" /> <label for="publicWorkstation" th:utext="#{screen.welcome.label.publicstation}"/> </section> --><button class="mdc-button mdc-button--raised btn btn-primary btn-primary" name="submitBtn" accesskey="l" type="submit"> <span class="mdc-button__label">Login</span> </button> </div> </form> <!-- <div id="x509Login" th:if="${x509ClientAuthLoginEndpointUrl}"> <span th:if="${loginFormViewable and loginFormEnabled}"> <hr class="my-4"/> <script th:inline="javascript"> /*<![CDATA[*/ function x509login() { var url = /**/; url += window.location.search; window.location.assign(url) } /*]]>*/ </script> <a class="mdc-button mdc-button--raised btn btn-primary" onclick="javascript:x509login();" th:text="#{screen.welcome.button.loginx509}">X509 Login</a> </span> </div> --><hr class="my-4"/><span> <div id="pmlinks" class="my-2"> <div> <br /><span class="mdi mdi-account-question"></span> <span><a href="https://apps2.ndsu.edu/accounts/recover/forgotpassphrase">Forgot your password? </a></span> </div> </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> <h3>What are your Bison Login and password?</h3> <p>Your <strong>Bison Login</strong> and password are the same credentials that you use to log into NDSU computer labs. </p> <p>For detailed instructions on how to reset a forgotten Bison Login password, please visit the <a href="https://kb.ndsu.edu/104555">Password Management for Bison Login</a>. If you need further assistance, please contact the <a href="http://www.ndsu.edu/it/help/">IT Service Center</a> by phone or in person. </p> </div> </div> </span> </div> </section> <span> </span> </div> </div> </main> </div> <footer class="py-3 d-flex justify-content-center align-items-center cas-footer footer-green footer-left"> <div class="container"> <section class="footer-address"> <div class="address"> <p class="link-color-white"> <a href="https://www.ndsu.edu">North Dakota State University</a><br> <a href="https://www.ndsu.edu/it">Information Technology</a><br> Report a problem: NDSU IT Service Center phone 701.231.8685 / online <a href="https://www.ndsu.edu/it/help/">www.ndsu.edu/it/help</a><br> <a href="https://www.ndsu.edu/privacy/">Privacy Statement</a><br> </p> </div> </section> </div> </footer> </body> </html>