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="5f5f99fb-6bfa-485d-a864-b70822bbf3e8_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbU0wTnpjMll6bGxMVGhtWVdZdE5HVTFNUzFoWW1ZMUxUQXhNMkUyTkdabE5UZzNNaUo5LlRqTzMzUnZVVmJ3bzN3TlNOVFlVM0lpMTVOUHg2T1ZYTEU3OWdNbVFXTVpaWmtXWm90T2o1Nk1tbUdIVkR0Wk9DSk1GOHJPZFRjaEZBeGhSS3EyNlJzeld6bldRMEtGYmF6QjJxeWMwaGxldEZZYzh6Z05xVGNEVXVydUxkODNaMTVrSDkwVUNTZy1adXlRdm1SbTBfZUpyS1RkU24xNzdjSURLeUNhQlJXX0tlZ0VpRjlrNGk5SXJLTUxrNHdFTVMzSHJ0OUZHVXJLX2VNU3NxR0g0TUdfZGhMMmN2NjhqM2p4QTlHdzZINTdNNjFBUGlKZHB5SzYyN1VDZ3VNSGI1YWI3OW03LUVFN0w1VnVHS1UyRjdsS2tVWXlGT3FDbWMwdUloaUV3Z1o2SGYwZlpwbUNpNHhqdnhBeC15Y095NFdlOHJleG1mcl85VUx3T0NiVjFYeDVNWjNEREhxd28yLV9FbFlxU0JBTkVfQjR1ZWlYbzR2aGdZVGR3ZUsxVzViYkR4T1lFMWVIbnduVjg3TEhzVzFYcVJKSFM1RzA1YXYxNGxLdGxWaEZTaUVQYmdtcXMwZlRCbVJOeFRmQ1dQM2RIMnZudGtDTVBnZ29BQkMxT05KY2tuWFVSZER0R3VROTJBLVB6NEM4V2tqTTJtbWtqVHkwYXlFZHBqeVBmVndPTHoxR2dUVjBCMVF3OWc4Qzd4eXpKYUtMT2ZYYkY4cWdCenlndy1rZE43TVFFZDJGYl9TNl90eE5RRkwyNUhIclR6NVdMQmVmbEFZUzJEbTNoZ0R1U25wWE1XeXptMHpmV0gxLTRNV3Z4SEI2UGtfS0dxTjJybWNBZ21GOGJ0TkRDVjRLcjNVdGl3TVdNR2VHUTAzY0twNWY3aC1XMWYxQU5EejNfTVJja3I1UUxON2xqOXFrUHR3NzBrV29HaXFKbFRDUjI2X2NkNDNTZktld2hSaVRjYkJUcmFyUzdpR1FhQkpsUlVwNm9NbWVJNTZNZUFubS0zdVY5M3oxbnhpSmVoSlhuN1lsbXpKbTFOMnRFQ05XTXprX0JjLVFVWmtFTnZuZWxHNkR4WFU3Si1ndlgwdjR6UElkaHBXRk5TTFJ3SXlnMnMzSjBBYnl6eGYwc3ZabG9jZXo2ZFNjd3pJeThIcFUzOEJSc08yNFRndjJOandiRzBhNGtuRnlHT2ttbnVfY2RrTmdUS0VobXBpWlA1VlJ0d1lPcHNOOVNCUTZvbnRueU9OMlB1bWJ5QmpMNXBjQ0lFb1FQYVpEcFE0Qk9nZHhJRzlIcjZBTXRsdktzUGRic3BnczBwa01GY29FNDd0QldpSHNmdWRvekUwak5aTE9FemQ5ZG1RNlZpSUVmN0d5Wk1fMzBtdDJ3UVJEb2t3MENTMHBPMUJXd1NDM2tjMDhud1ZhcVlJdW9NemYzMmhDVGx4bGlQNTZtZFZfS3lNQmpVQjhzODlPVzFDcU96UmJ4SkQ4Zm1SbTA2THNac3dhMjlWMHVPemRoS1pJeUE5dnNibkl5Tml3ekJhVjNzYWdEWGJPZFQ3YnJjWV9pLTZtTzRRRnlRSDJwMUZqVU5MZmFjeXhQcjd5aDlIeFgzVWtEb3lFaTRja1VhT09Iak5ibW8xNjdXZm1NVU9GS0k0YUJHSVFHT0hvRktmUXhaWW1Cd1pCZnFpelNsWUw4OFBQMnpYTVpqVkZvN01tOHg4ck9pRWpMMC02TzkzYlhONU9KazNZQld4WXljSm45NVctVzZaSi16SXlYR0w0b1gzVlFhSzhMVHVVQ25DMTV1Q2NrTlJxaHhzR0hXYzVYU0RGeVpIeXlPUHAtVDVKNTNuR3lTcmd1cmk4aWs1LVVUYWg0dXVKRWZFSTAtVHEteWRkTm5hMmtLS1hkdTBadUV1ZFdQWmR1SUlvOHF6U0tQVXN3ei16THdZTE9oZ1lLWXZCc1U5SVpLSVM0eS0xNFlnR3lVTU1ENHlETTUtY01nSlhCNlMxRUxRYTlUdnlHZks2em9wajZUc0tTd1dWTkgwSzNqSFRVWjNuOHlFS3FkendrU0hfeEIwUDk5TWp0Z1pDNTVWWTMyYkV2enF6Tk5WbVlEbndhYVVtU0ZndWRGMTRjaUtFbi1Tb0hKZDdhS3h5SHZGQWxRcXFzaDlaZDM1dWphU3NqR2dDOEVScU5tcUFkcFNJcDR2QlpSWjE0Mk1KYUtMZGFhM29iZFBZWFNRZGRoaDEyUndHS3VwZ2VUV1hyOERscWVHS2NSX0xQcDZHVjFpUkZydldCaTAzQVdsS3VpVDNHTEx0RThjZ1F5U2lsZVFsUFc2aXNDM0szbWMwcmxEUlZMZkhzYnIxVGhxU05EeXJ1X2dCbEpMZVJnMjNOTTJiLWxjcHIwdEZXbjgxZTB1R1k1VFZvSTJlVW1SeHlDU0hCSHFVV29RNkdPVG5tYzVQNERUbUt4NmpvRVNDWEdiZjZicmpyNUZueUpJUUp5V0xkejkwWWVaWEdrVWUxMmtOVzZVUm1kU3l1YVNvaXhYQU5KLXBrRGFfcEdwa0NiZFlXb2ZxV2JhUHJPc0h3M3FQbkxDUHN6MmI0S0Q3dWlmem80cE9KcjZlN0xZQVpVWXdMckFaeTREcnBoUXBrYmk5aUtiNXVWbndaYlJSSTNaZVM0WllzX0dfNDZ4MGZHUzQydlZzVGJqckk2OVNNWjZQRkhfXzIwNk5TRXlWeW5IY2RWVVFVYm8wX0hEYzFNZWRCRUM5a1lGZFF0Vk9rbzJOaU5PX3FDRjNWUl9hVDE4ZE55dVZvTEZZeVBIeFB4UUxHTWd0dWVENVQ4Wk5uWmlyaDZjYmNnRC03ODZjM0o4aEpZV2hwalFtUGJnaDZYc3ZoUXhGRy1Pakc3ZDlFendESUdLUENrQlJZT1BqbmdfSGtGUW10Nk16bzZJME0ycmt0aDFVVDJ5a0x3MTRjWEdDTjZHUjQxdV92S3QzUnZDQnNVeXdCSzkzdEh6QUUtekFGVW1rQzJBcWpoVW1yUDhCSl8wbHhReXdvOUo0Q19aX01sTXJLNlVCeFhadmV1WWZOZ24zOG84Wl9qM24tcG5VakJmQlhDUThyNXNkQS0xOFBiWVdONFdzZ2dFU0JYcG9MNW80R1RPUjJkWWZOV1U3VjUyWUpMUFNBWXY3VWpPQWJOaVIyUFNQalhDS3hmOEJEeERCRGs2ZjJFOUhCY3Z2S0JxcG5iOVJPYVY2dWFibXBTbmYzTlhINVZ2c3FqR1pCeTJ1ZkVmMVY5YlQ0T0R6YWhYZ0V0VTE3X1JxQks0elBMZDRKaFR6cmVSZFBsQjBGT0dhWWpnS1NoTGVrT1JzUENjbktwaEZfeXdaM3ZVSklqX3pCTzFjYXhzeEV3MVNteENPN25SYU5sbGJyWlQzODFNQUY4Unc4c2FFNVVJWmtTdHpURWtUeVBfandqM3dMT1VDZWVYUkZzcG93SUk0eG9oWV91R3djUWdVSklKWDhZSFotcHZrYUJmTWRpdUFwRVpnWUdyUURXWnh4N1AyYlJxLVk0QUxlQXdvWTU3aGY1TnI5MEJTWk9tZmg0Z2ZZS0taWmxMa0NDVmVlWkdCTTVldUN0Mm93Y1ctT1h0VDNWNUFRbDR5MjVQdmpoR1QtaFVPc2VIT1RDVGJjWmZQMjlsdnBfUTJGa1RPalRleHVXTFZKWWxRY09yMkZXWjJ5ME1uYUdIcDdMWXRKV2k1VnpxYTNTTmlraU5laWotektNYzdNcXNyRDZqZURUQ2hlYml1QTN0SUVvZ1JRNWZWOHVEZGFQWEh0ODM1OVJSMy10Q0swVWZWS2tEOUtfN1F0SVo4UnExc2phV080YTltcGh3TXFhR2NHc201eGRvYm9wSC1DdU5QWE1JWF9Rbnd2bm9DUmRJWjVtdHU2YTNFRWpKMFZHTEpYM1oxOW1DT1R2MWdXb3Mydmk4UzR6WEFGZU9XUkdLMkVNdzFTcVBoblpmazk3TURJWjc0MkFXQjRRcXpNRHI0OFZ4VVdNMXJ2RUtNX0pLejJ0UmNkbEJfUDJKbFRGcjN1Q3pQZUl1SVBkeTB2ZGNIZWxMcGRfNThYVnFnZmQ4OWhUTTBXSmlTeVFHalgzLTlTU3M1OHU3cWN0bWdFMjJnQkJUZTFoUTZDd2xUNk8xS0txWE9yWUhkdlp5YTdvaHpUbXNwR1hWYnNjWXhDVXBoZmQ2UkktSWNvSG00Vk5EdXR3RHQxUlhSUE5Ybk5NWTZpU3FPNnlfdnBjMENvdndoVnF6RGpFUVZVSzBNaFhXdEZZa1hqTVRfMDdqclJUUzZXTWtLNms0dGtsRnFMTUg4VFVLUmRHV2NoN0xEcWVVZENTWS1xTzVwX2tUMXZlbXlhMWQ1ek9TLVNRZjM0cGxjQi1IZXRSVHlsUklQVzU2eUh1S0R5bHh0SjZSWVkxLTUyMFdKVWhPSi03TWgtNG9oUjlRMFFKYUF2S1NJV184c0t5Njl0bGpvbjQ4UHBiVkZfWnlWZmFEQm55ckdzckRVMUVzZ1ozYmZGOV9UQVJBSzFsVzdHaUNGZ1FnRnR0d3J0UjlIV1lzR0Z4X2NqLUt1NF90UDdId1NocFRfWlBJSG9sSVNrcHA3M2poQUhFRjBBSkI5d0JYZnB1YU9NVW4xSWt4STBOQnFkOVdIY0tKalpBMDBBVENfaWZtaUFlbDcwczFhbVlONUM3UTNHQ3ZNaWpRTHh2Tl8tYm5vT2FKQUpXMTRVZDdHdHJWcjZrakJwZXdJSVBNc21iVXJzZ01ZNGpJRkN4SUk4bjZfVUNpTDRJZGZXVVhFd25aWEJvTS1Ya1hlQm9pUm5UNlNkaHRRcmlVRnhZbGtzX1dPN1didVhmbHZ5ZlhWYWJlZDVQUC01OU84UTc0TFVoMVFvYTQ4QzBLTHY4dHBGcElhQVhrd0xOamRGU3BtQUZJSkx4UzRPOTFMakhpNGVtWnQ3VnJnNnFmUmFGTlNjUTJIU1ZrVXZXS1E0VzN6ZGQ3WFBhSURVTEtPWWR5UGFnMkptZVhuYWFNU3RRNlBsaG5UcW83ZlVKdjlxSHFsTWt4czJkaXA3N3l2NFlIMVhTV2I5aEtCM0doeURaWC1sSmxmZE1Oa2xjaHNRWU11R1FNUVRCY05UWVI5M2tsd1hndUVncjhZdm9fTzZKbXRhcXBzemU0OXkwRXRVTjJMd0VlbWtVdmV5WVlKVzZJSzMwVkQyOTBLRUlhVDRnenk1MHZkNmtKN3JjUnVXcHlnN2F2eG5QQ3RrRzBuRzVoUEdiTWduZDJtcUVQV0kzVGpLcmxQU2w2bWlqNjY3dFAtbHFPRkhUSDBXVGktOTZjNEJJRnR3eGxubHREbjFfVmRUcWNxUEFhajN6ZUZxa1U1Q0FobjRGV1IxWGlUeWROdVB4Mjh0TUhEbWFGai1EaHFoZ0tIcDEzaUk2ZkpncDFHTFdLdFlaUDlaa3ZEN3hZYllEUU1jMTd1WGVzblQ5ZEFIeVhfZk9jLV9Dbms1OHRRZUhwUW1vZjNRd2w5RFRfS1RBWndTY0s4SG9zWWxkek5PMXc4M1Y5UjdHNXRGX09jaDNiUDZFSmlnRHhndzFzdWtxZFo1ekY3VU5jS1dXOC1MX09CVDVWUnFEV3B1bTQteEtIbElURDdzZXB6dDZoV1hpRlIwMTJzNEVXbFN6WkY1bDlXVGkzYk40ZnpZV3NjNEFUSGhmNVJtU1pSakkxSnlPenFoOFdOS2dRb0lOY0RFRmpxT1RrV2IySWxOVF8yeFpabE5lTGpUOE1Idy5uVjBpNjcxbUZ2Tm9iQkc5RXhMcXhEMGJxVlV5a1lJMURJODI1T1J5TUNSR18yUExkaENQUW0zTlhHbUZpbEdQZC1tWkp4TWNvRENNOHRHdGJNekxPUQ=="/><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>