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="28ff12ad-edc7-4034-921a-0f96c4702edb_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbU5sWm1VME56RTBMVGRsTnpZdE5EUTROQzFpT0RCbExXRTNNR05qTVRRMk9EQTBZeUo5LlRqTzMzUnZVVmJ3bzMzTlNOVFlVM0lpMTVOUHg2QlhMYjluQjB1S2RnNUVGNmtoVW92UHRXMWJrSmJsYXNGSEM1cjhuc0dZMmFsQ1hxZWFHdlM0YkM1aFF5c2JaWFB0ZlFDTjdvU2tpMTZJZUdrOFAtSVhYdHJEdlJuaFdWbjVlMks3d2VwcUJrVzVxUUJKM1RNa1k0bUZnVlplajE5VzlqZ21Pd1VyakRleldIQlpSWmFJZzF1SmdTQURubjVZYlQtVGlWY25vS284RUN1VUNlemh3ci1WMWVJMGxXTkhBcWRXaDZYbUtFYXpIWmNzRkpRTnBqTUplQ3hIWXBvMGdVYVctc2hkVktBZmREa0ZUWTVSR1FXNmZoSTN4Z1VaWmx3Rl9uTGJzZkJrVlMyRGZ5QkdDXzdvbzVCcHRRRi1faVFtRHl6dmx3dkc4cDdsQ1J4cEpiYkJBaUtoTVRYQUNZOHlITXY5UWFwN0ZqYkRmYnJmNmtISmh6TXJzYmI0aW4zQWMwUEFqQy1vTjE3RFpBOXE3Yk1FaHo2QWRHUk15c05KeFdVZWRMa0lHeDRTdVJEUmRGc1JSdVlzalpIM2JadGF2el9hMDctVDFpWW4wZGJ5VFVqSGtsak5fcTFPOXB6XzdCVVoxTmhTSTdkQ0t2MTh3aEdUS2tWNlcwUlM4NVVsMXZLZDBWa3dZMDZOS1FiLUFVWi02NFE2aVIyQ3lPZUJrS3FxcVZVeEtWUXAzb0wxM3NQYTc4U003Qnd3Wkhvc014bU9FQTd0YUI2RFM2c3hUYUdZUTV0SGp1eTNfaHpLYmFEYi1yZ2JacWhIcExJazIzeXFtNzUtMGZJNk5GSVh2WjVhemdHVUIybWJtMEJsdl9NZFJPeGk5SDVRWGdZeU9fT1RaN3pmSEdGaHRNNURWR05xUmlBVDFVbFFpS2Z1TmpneUtUNWc4bmloUmVsb0NBcmpqcTVRaVhMejVhdE9XU2tqb21jUFB5WV82U3FZSVdRNUJjbUtBRm1lVU5MejJCcVZvSU1IMktGcFhNRnZuN3hDSW8tWGg0aEpKZG9DeUtZaXdIVUN4VmRILVR2TGhXTUdpTjRwelc2dnZCYzdLcm9aWU1seEZEVmp0Z1NVenhJYnFzZlhKcTJUQzItNUdrT2Z2OWVxWkk3am1JR0EyT09kMjJtRlVfQklFRkJrcVZ1LUNfeERxT3lUMV9mUmI2RlpGUTRHaEFBcmx2RUw0M3FnU0h5VmljeGtiQVlWWFhJNjdJMVM1MnlRRFlCZG9jdGZXc0d0NlJZWVRGcGZlMVh5clh0V1kwUmdLTUhVRXBqeWpCZGEzZUo3cmg5clFWeTVQWUthSlE4UmI5TlNzWlUtam9XUUtIYVMxa0c1OWVuX1BSMVpKUjQ3M2U0VTNXd1l6OFA3WnZjc1pKM1J0NVhERmlwOWV4NVBNNFVydzFNM29kcjl0c0VwUXFEVTd5ZXZhVzRnTkx0TmM0MXlqV2ZEZjFWdy12RXlLUERmWXZYdF9jQzkwbDNra0NYNWlqMGlLcFdrUnZHSTNneWNqYmxIMFhiNmJ0eTNtT1lEVWY3SFBHWDdPTGoyWU9tMFNYUWNGYl9URmR6bExrdjFGRVZqTEVFQnVrSXRLcTROZ0hYTjBLUzN0OFZVUWFfQWd0OVVWWVFPVVRZRlpwcURfN3lWdFFydXc4UzlLQ2lTOGE4UnhsZUVJalZLTWNTR25tZmhyM0VUVU5ncHJRQThtZUFleWtqS09uT0ljbG1JSlhFYmEtOUpHTkV0Yl8yOFNvd210ZHY2TmduOUxkNEl6TkJFNUZjdTRHVUpacU5FUUZsSTBwREh5YkcxSEU3eVgxZ0U1Q1ZsZE5pbDF1ZlFneGZTRDhIVDRpYW9jd2J5NGNQTm1kdUJhVm5MVUdXLWRzcTZuejVFMjlBajM1dnVtQ1k2RjlCSmJjRzJocWRIbzktbktGNkR2U21wZGJpSDZaY0RYeDJrSWFSSHFHcmQ5c3NKQTRNYUdVMmpJQ21RZHkxR3VKSHlsYUpKUzM2b016QmdOcDdaSGdyUXJkQXdnV2daUFRsSm5Mc3p5RXNzSklyalVXUkV6NXRWV2tpcEZWUjd6Zm14SUZZT2UxdjV5ajRISUsxRlk4bHBGYzVGRl96Z2JpNlV3WDBGZlF3SjlGbkVpdXFkLVVqNDlvcDhDTnV1Mng1T1hRNmdSYjdleGV5V1NwY2JSX1JrRkxETzB0bDcyNnJyV0JlV2FnUjk0ZEZydmdtQkIyQUpvaHVtdU1nY0V0b3Z4RjhxeWNyN01BR3c0d1ZOQ1BwRzdCNUpRVlNUR1lXVTJmX2ZWdGtJQXhUQVpiQjBMRGd6emhpcWQxN1RjbjRVUmpDV2N6MURhMXNtd2g4MFJjY25TODdUZlVXTGZGdGxkV2JncGhVREJ5X1NjYlRvMkhWM1VXeTgtN1dWSWw1UXYxVlpiaG1oalNqbmE2N3hJbWRBSGtNMG1jcVJrN3JwbUlPSER4TWpRSy1XU0pPUEVLNmpXSGo1SEtXdlVTZE1yaWtlaVJYbkp2RWNJdnpFNWdyMndOSTJ1bXpXWGFhblRQcjQtQng0d0ZTSmxLb0dDcVVHN1hnRHFDYjhlY3V5eld0MTdGMUZidWlOWWxXQ2ctMFdEYUZiUFM5TzEtRlZMbUpMblFkLWZyZXZub0I0V184cFZVaGRybHYyY0RmS2hjOXRPY19nSG9DdTFnZjFQaUZ2WUlPQURSNHhuVUViNW1vLTY3Q1FGR2RhMV9kYzB1UjFhdUp5NWlKMW1qeEJBbmMxUER6VGdtNGVqak5SSnlJMk1STkUwaDVHRUl4eVVVZmx5eGF2V2N6NEg1b05RaGtJMGZGU0I1Ry1sSXBfNFJ1SDl1cGUzRTVGNGY2QW1waWdETi1UQkRQZmxDUTV3a2hEcnVxR1hGTk5VbjFDQThyN1lETzJ2Nm5YQXdkaE5SaEFybDAxUzhfYVIzWEZtTkQzdkl0aU5xYUl5aDQtNlFqRVB0VG1uT3dYSUtzR3NxaWQ4c253a3pkMm9wbUdvdmVHeFFsMXVpclNlLThmVUw1S19xaFZkOFcxUFg3Z0hOa3lnUnNIOG0xYzk2OVlhdEZiNDhsUmsteUEtcmVfRW9hYjZxak56SnduaDFNTGlqcUhCbm43eGdwX0Q5bjVYelRFVHRDZERiTXhjazVvaE51b1QxNlptMGdCREZaZUtwVkFGRThsVVk1bHdsX0V6TzBkVDFqNkktV1RHdm5oZVp5ckhaSnZiaXJGVW53c2hUTzBFT2NyVnlaQWRpOVhkajVVcE00Vmp1RURmWDAtRjhJRW5OX212WVhyQzNlUUlVclBNSUhkaGZlSXA1NHlVcDJwLXphOEt4UkZMaGlrNFk5OXRJdm0waVMyeVN0bVEtSWZYSi0xdS1VZi02MDJZLXlCT1N6eXZxZ1NHSVh3R01UNGFqdDYwcFpGb3JVaGd5ek1COXNHNUlIdVlMX09DcjJCSG01Q2FnUDhDc0daMkRGUTB0VGdLSDlzY1dvZTlGbGItaE81ekw0LXM3R0twOGFGQUpGWUVadS12ZmR4cDVrZ3owSFlKWEhlZHdVMVVMZF9wMWFnVWhJOVZvUllPQnZaSC1pVE82dzJJM1NCdGhhME5WbmY2UlNtcFM2ZG05a1puLUdqUWJfSy1pdTdXUnJjczVKdVV2NnVpeTlyMmlNVkdDcDFhaG0zamt2bkNpQzBSdm56V0RKQ05SakJXbkxpcDdCYXJVRjI0dHgzMjlSa0dIN2t1S3dSaU9ORWNLWEd1RnNCZFZQRkd1ejdSdWNqWldhcWNSUFZVVXI3em9qNkdiQTFzcC1jWWViejhKUDVqaWkzRjgzX19NQjlJS2hnS0hreExoU01mYzY5Vm5lTFdmYk5aWjZGS3ZKamhsY3hSVFA2NUk1NWdjSEU5bm9Ya0V2Szd5ZldOU2t0YjhBOExnbEZxdGd4c19LTjM0ZzRHZnNKM2NoY3RpRVEwYjBPUTB4c1ZQV2h1ZThzT1U2YmVQWHZ5aHgzRHZxNFZiWWs0Vi1hM28wMTUxcXpPbHBXajZKc19Pd0hUR012bFZJaHNRcmpneUJmMF83VVk1dTlpajNfVC05cE1TT292Vzd5b1U1QU53UVZ5dU5Pc1JuSXdWNnpNWEZKZUd5R1FaUG5ZdFZUYnhEWDVfRjZYd3dsTlE0UFdoZ0QzeU9fWnZsbDI1Vmh2ZkxDdVNnR0U0VnVWb1cySmcycW1SMlgyaGduTmQ2MDJjNlZiQzhrWURaZHc0ZVI3WGdMdW9KYmtFQjFfanVkdVN1NkFJTWE4cU5OZFNKVExGak9zOFNTcW41MHg2MlRGblZOaW9udGF3aTZUcUFHRUFScUxsdFE3OHZmNnIzdzYzQVVDUXRMNGhjemxVYjBrdlpXWG9zaVVMSVIzalhIekdKOWxFa1VIU2dzelpwQmYwVXdDQWVha2w1aHNSQk9lSVhkVlNKbkM3VGwzS2ZYR3VBSjVvUXk2RnRjZW1oZEdQTkwtanhZSTJVT2F4OWpCS2E4cjFZVnhyWXBLRWF0WDdCMVF2U1h5WURSZmFpZUVsZHg2TFJoVG9ZX1FWWjgxdWtyWDNnX2JkQWxVQllucmhtR2NnZEs5S1ZWRk5ySWFoU0REM3ZYUXpBTk5DLUV4R21PYjFSdFN1Unp1TzJoVDNIbFdFT0xMRWY0dHE3Y2trazFMT0FGUng4WG9mbFo3ZlAxQXFrMVUyZmQydFpCZDJIWk15SG9Ka0xJeEhrUFJHcWE5YkZMUVhZal9vb3lGRi1zcktnYkw1Q3plYkRIbkNrS0FkbjBoZS00UUpZMkM1VDRESHN1c3U3NXVPMnpFMUhTeXl5TGl3TmZKVWhnMG40b3BaZzFkU0tqU2tNLXN5TEFkOU5PNVJQaVRFM2ZLMVZhZW5lUzJtQ2FwWGZTM1pDd3hxTmtzREhRNjRzRWVKcE96Tjh5dGxQZlQ5em9xajFBZEFTVjJKWHVDRk5tQ0Z4WG9uYVJuYU95M2hHR3FpNlVFTFlYbkNTZVR1ejVGM3JDZlFfdFZHdEpJOU5xYkdTTVFEX0NqTFpTcDVUVWJtalpmNXdDc2w4QmdPN2pQV3dMQ050ZE9PaHBrVkZlYmF2UjVZTC1QYjRuX0RNZF8wOS1vX0RsNlRBdUczTVoySlJTUlpLNlJLb0pqWmZPSzQtQ1Exa01oU0dNeTUwWW1jUDBubFpUbkFFU2pmdnQtVWk0M1Rjc3YtbTQ5dGdaWVVvdTNrZTRHSldLZUtOZHZidmVYNmJiRGhsV3hTOGNaRmVHY3BCSHpzOVBtN292ZXROc0xqMGNScEhGX2ZNc0RpRk5Bei05VGRPTW1scjRHSVRINnIzd0NjcDhxWmRJYnlzM3VfMkhyOWcwZWhHaVFoeFhFaU5xUFR6MEt3SjBZQndQWWpoTDhOcG9mZC1SRDFyTGZIUDVfaFdhZGROQ0xZS1MtdXNkbHdMZUpqZ1F2RGlSdTJKWThSY1JaNkYzVzNCQV9kQ1YzMVlhb1JFX3dtNmVMM0NDWm0xMVZibDJhNmJPcEUtOXVWMFlHU1FNcWlselBRSS1YN19BdG53NlVIc0dWWjNBeWRZSVdzY2RFeDItaXJXYWRQcHNRNHR6bk00WFY4RUtxeFdud2ZYVXctdmN6MU5jV2I0X2Fxd1JlVUM0bjJZd3BzMFlKS3ZWMVJ6NzFnMmRlSkFHS1kxRWdnN3llSjlKZGllTTdsQ0dDdU9RT1NvOWJlWHgyTExLWG5GRDVMeFJ4ZXJXdlgzWndQSGlMNWVYeTZPR0Y0VEF5YmQzMEdhRTg0ZTY2eEJqeGd4dF9LOHVoeE9EMHEwZjMxdE9oX2x2RkxSazAzT3N6OHlkdlYzdEhudEU1TjE0LjhydlpnR2Y1UTN5cVhmM09TX1I2QXhVazA5c3gxX1FqTVVEaE1ZWWNtaUNCWWd6RmxYWjBEeUdWVm9DZjJqMWVNVkZ2Vk15X2hfZGlZZ3BGVTRIWkZR"/><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>