<!DOCTYPE html><html>

<head>
    <title>&#x6c90;&#x9e23;&#x5e73;&#x53f0;单点登录系统</title>
    <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>

    
    <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.1.0/css/bootstrap-grid.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/material-components-web/12.0.0/dist/material-components-web.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/mdi__font/5.8.55/css/materialdesignicons.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.0/jquery.min.js"></script>
<script type="text/javascript" src="/cas/webjars/es5-shim/4.5.9/es5-shim.js"></script>
    <script type="text/javascript" src="/cas/webjars/css-vars-ponyfill/2.3.1/dist/css-vars-ponyfill.min.js"></script>
    <script type="text/javascript" src="/cas/webjars/material-components-web/12.0.0/dist/material-components-web.js"></script>
<script type="text/javascript" src="/cas/js/cas.js"></script>
<script>
    if (typeof resourceLoadedSuccessfully === "function") {
        resourceLoadedSuccessfully();
    }
    $(function() {
        cssVars({onlyLegacy: true});
    })
</script>

<script>
    /*<![CDATA[*/

    var trackGeoLocation = false;

    var googleAnalyticsTrackingId = null;

    if (googleAnalyticsTrackingId != null && googleAnalyticsTrackingId != '') {
        (function (i, s, o, g, r, a, m) {
            i['GoogleAnalyticsObject'] = r;
            i[r] = i[r] || function () {
                (i[r].q = i[r].q || []).push(arguments)
            }, i[r].l = 1 * new Date();
            a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
            a.async = 1;
            a.src = g;
            m.parentNode.insertBefore(a, m)
        })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

        ga('create', googleAnalyticsTrackingId, 'auto');
        ga('send', 'pageview');
    }

    /*]]>*/
</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-start">
                </section>
            <section class="mdc-top-app-bar__section">
                    <span class="cas-brand mx-auto">
                        <span class="sr-only">&#x6c90;&#x9e23;&#x5e73;&#x53f0;单点登录系统</span>
                        <img id="cas-logo" class="cas-logo"
                             title="&#x6c90;&#x9e23;&#x5e73;&#x53f0;单点登录系统"
                             src="img/smulogo.svg" /></span>
            </section>
            <section class="mdc-top-app-bar__section mdc-top-app-bar__section--align-end">
                </section>
        </nav>

    </header>
    <script>var countMessages = 0;</script>
    <script type="text/javascript">

        (function (material) {
            var header = {
                init: function () {
                    header.attachTopbar();
                    material.autoInit();
                },
                attachDrawer: function () {
                    var elm = document.getElementById('app-drawer');
                    if (elm != null) {
                        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;
                    }
                    return undefined;
                },
                attachTopbar: function (drawer) {

                    var drawer = header.attachDrawer();
                    var dialog = header.attachNotificationDialog();

                    if (drawer != undefined) {
                        header.attachDrawerToggle(drawer);
                    }
                    if (dialog != undefined) {
                        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) {
                    let appBar = document.getElementById('app-bar');
                    if (appBar != null) {
                        var topAppBar = material.topAppBar.MDCTopAppBar.attachTo(appBar);
                        topAppBar.setScrollTarget(document.getElementById('main-content'));
                        topAppBar.listen('MDCTopAppBar:nav', function () {
                            drawer.open = !drawer.open;
                        });
                        return topAppBar;
                    }
                    return undefined;
                },
                attachNotificationDialog: function () {
                    var element = document.getElementById('cas-notification-dialog');
                    if (element != null) {
                        return material.dialog.MDCDialog.attachTo(element);
                    }
                    return undefined;
                },
                attachNotificationToggle: function (dialog) {
                    var btn = document.getElementById('cas-notifications-menu');
                    if (btn != null) {
                        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 w-lg-25">
        <section id="loginForm"
                 class="login-section login-form">
            <div class="d-flex flex-column justify-content-between m-auto">
        
                <div class="text-center logintitle">
                    <img src="img/smulogo.svg" id="logo"><span>Login</span>
                </div>
    
    <!--
        <div th:if="${delegatedAuthenticationProviderPrimary == null}">
            <div th:if="${!#strings.isEmpty(#themes.code('cas.hero-banner.file'))}">
                <p>
                    <img id="heroimg"
                         th:title="${#strings.defaultString(#themes.code('cas.theme.name'), 'CAS')}"
                         th:src="@{${#themes.code('cas.hero-banner.file')}}"/>
                </p>
            </div>
            <div class="service-ui" th:replace="fragments/serviceui :: serviceUI">
                <a href="fragments/serviceui.html">service ui fragment</a>
            </div>
        </div>
--><div class="form-wrapper">

    <form method="post" id="fm1" action="login">
        <span id="login-form-controls">
            <!--
            <h3 th:unless="${existingSingleSignOnSessionAvailable}" class="text-center">
                <i class="mdi mdi-security"></i>
                <span th:utext="#{screen.welcome.instructions}">Enter your Username and Password:</span>
            </h3>
--><section 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="25"
                               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>
            </section>

            <section 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="25"
                                   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"></i>
                    <span class="sr-only">Toggle Password</span>
                </button>
            </section>
                    
                    <section class="cas-field my-3 mdc-input-group">
                       <div class="mdc-input-group-field mdc-input-group-field-append">
                        <div class="d-flex">
                            
                                <label for="validateCode" class="mdc-text-field mdc-floating-label 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">Evaluated Result:</span>
                                        </span>
                                        <span class="mdc-notched-outline__trailing"></span>
                                    </span>
                                    <input class="mdc-text-field__input form-control" type="text" id="validateCode" size="25" name="validateCode" autocomplete="off"
                                        required /></label>
                                
                                <div class="mdc-input-group-append mdc-img align-self-end">
                                    <img id="captchaImg" src="/cas/captcha" style="cursor:pointer" alt="单击刷新验证码" /></div>
                            </div>
                            <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>Captcha is a required field.</span>
                                </div>
                            </div>
                       </div>
                       
                    </section>     

                    <section class="cas-field my-3">
                        </section>

                    <section class="cas-field">

                        <input type="hidden" name="execution" value="8665737d-777f-45f1-92db-551444821ca0_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LnZwU294THZlaWI1SGxmZVhPY3o0bmtFZDRYVVhLcXdUcW42S2Y0VElMSW5ndjdJRjhCNGo1em1LYnFRV2l3RHZtZ3owUzVOcnY1eHBHYzdib0RzaVVtb1FKZ3RVaGVwRDhPLUVJX3NPWTdlT0k3YzZVOHU5UDNWeDBET3RTeGtHTGdHbERTZU9wMVMxdzlKeUNvSXllZlRfWFZ1WjEtSlJJQk9VX1RSM2JxS0xQb3puNEFxaGdlOUxSY01ub3d3b29lUzFvQ1cxYXFSdWdxOGgyQlJpUkZZUEFKT2N3MGFvYTQzMWFnamJlTmowZWttNGpkekc5aXluM2dFY2hlNTdxMzJzb3FEYmRzdV9iZk9qQlRIaW1xSnpUUzROVzVsSGFMVWtFM29lMUszb2hzcWE4LXY3eHl1M2NTbnR2b3pGQVlMTVZGNThDYkpZY0daRUNWbHpHaWFWMWFGWTJEcTNUaWttczN6S19QalRkNUxiY1FBdEJDZTFUVnNMSUI5Sll4dEVyWjZkNDBoQzVrU2pZSzhHTWM5cWdNTG9HXzVxUkc0eVlLZ1ZDMWc5M1doZVNoQTZYNllqZVVuaDR0blpJLVZXME5BbEQ5WVZ2dThmQ0NMS05ab0xoVktBZGE2c1o2Y0x5TnZlT21fSHh1OF9sY3pWMmdNRWxfMVBpemY4emhuc3JVRk1IaXFsZWw3R1prWmdScU14R2tMYTlUdkRReGpWNVRWRUo0RzN1X212R0F4TjZSWlNYSktaRWNQb0huT0tSQWNycHJIejliczFDV3h3MXNVOG83OXhmSFFBcG1waGlWek5LYTNYdWU3MFhoSnZqYjhDX1F2M2J5TTB2bWhwdWtlTUI3ZmVveXUyR2s3aGdPT0d0V3RhWVgtOGlwUDRocEFmTi1YN0pxdXdFMWVMUlVuS3VoWldmYkVkbW9CSWpwZWJjbTcwcHU0Ymo1STdtR09sOHk4cU1xVjE3NDVpeEpWS3FvMUs3cUxlMUExdkE4Yi1MS3h0M0tibU9ua1FUS0RFNy1HN2w0WFRpZHdDR2x0UmFfM1MxanMtTWtBZy1Cd3NzbVFPZE9CM1ljSjhMMzNYWHB0VXFQUEhIS0NTblB3Q3gwMFRNUUo2TDlBU2lqV0trb1c5MmVBdU9JUm1qY2lqNnQzandKMXJmajNTQ3RYZVh0MEpFRW9wd3lPb1MtRzdjbEhWaElORnRBSWphcXppUnJHMF9DMmYyMUtfQUdpNXBpR3Noc0g2RWRDSkJUYVNrdTJCNVpUVjdsYUp3UC05ZUpZRmdfN0hOa01QaF84SjdsblpkZldQSHF1anBqRElhYU1HOTNwWkVkZEVJTXdPRkNkU2Fxa2tKQkd4UTF5b1k1d2k2cHRPSGczYkZBbVlranc2cm9ZTV93Mko2cUl5N0p5U29pQUtVTktiMUF0VnZmemo1d0E0QjdfSFR4Q0E1MHBsYmkyeW0yMjh1TFJCZWdnNUdYZ1VkeXQtNWZmS29TempmbWF5RFp2ZE83YWR5aU9OWEFrZXVoa1JtMXYyTzRoRVppbXk4WWg1b2pRd01Sc1J2OUo2LVRCNVpmeFBHaV9SVHg0MnZmREFrTHV5MUFXbmdCbXUyX3g3UU9YeXdLcVRkS09GUkxkQ1VZdHRneE9sejNXVGRHODl3V1plY1BMU3pCSWZfLUpxcWZ3YmxyQ3ZibTZkbmZpYTRKZXM4eGFXVHktcnVWTmR2Z21pYlNMdzhIZk03YUk0UWNtUzNKYmszaC1TSU5La3prajRzV2VKUkVqZUl2MGlXQWVxSF9wNUphOExVRkV3aDRDcFpTN09EYkwxa2R5a1NkT1k0VHE4bEFNcGZJalo1SEIxakpfeVpWNkRHQ0x5VER4RGZLeUNmR3RWcjlBTUplZlBoM1Y1aUJ4MTdnMkt4emd3QS1DcmFZNXg1Y3lZYTY4X2ZfRlhfM2xQbUJvajlnV0VnTkF6bkJTbHlLeWlmS2hWNGNRZjJsNk1Lb0MyN1Vqc1Z3XzBIZTVUR3BtM3lyUjU3Unl4U2llVXBld0VETzQyX3pnWjFSRVI1eWpmYzIzUTBHcXJxUjNGd0l4alMweXd5WlhBc0pmMmJTcWs1bFlqb09nWmdneHFuUE5KdF9uVHVvRWphemFxN0poQThGcWtPVFNnVnIyNnpUY0RMUUhYOFRtVDJnSVVSUTlIOHZKUjV3OTg2TFh3SDBpOEFKMEJ5V05DaWYtOEwxM2JYME5lWHlEcHVOQUFTTndQNV9yV3VtUmFITENTQ2xCSi12SU1nNzJ6NHllejFfV080akVEb0dvVjZLYjY2OGlWMlBEdi10NjdxejlDS1hIYnJXNGhhRTRCMnZtRTB1cURpTkFac25jTC1OUGR3enJUcl9hcldZMjM2RE9Mdk5tamJQWHQ1WGdJX2VneVJxcWF5bjRrcHFnUmNfZVNxVTllV2hZTDRsVDN3N0dwRnJqdnNTOGJqd2JMeGx6d2pFWXlDc1BITTc0SThQcFE1MTdPSGlYZ2NWeXlIaUJkc1FDOGpWV0JrNDFDVXpVVl9fdUhNSFZuNzNZWEJ3cW95eXNMMHdVZEFHY3ptRmRxTlFSR1loR25vX05NckhjYjMyRkU4ZlJKbVhQWm1iVEVFSzQ1ckxFazBGMkdtczdFQXpYUlZ0QnFBV1d3UVNnZnRBbXY0bXpkbVVKLTJCR1YwUmFBbHZNdzIyN0gxNWVOOGZfd1kyNkdacFFNVERyZmRFbVgyUkNwRlBhRGFsMlZGbDFLZzRSZE1mSjlGZWRmbnhZQTV5M2hBa3lUSXVqYV85OF85QTNUaEhWeXE3aHpjVzdwNmtmNE1lSW5zUWt2MzBxZEZQNVRWd25rYXJwMXdnTEdaQkFGbkFmWmFBZWNSZ0xqMG1wNnM4UWV5SWxIWVVVOTNZSTBjMnMxUjdZVGlDR0l1NlZDTG1KYnlMSnlJQWc2bXlTYUhvbjZxaU5YVVY4cXlUM3ZnNDAwWGlueUhDcTI1TnNsN3VZV2NYa2NPYVRrbXNFZXVKcmlwRkdzVUhqWWc5WXJIMFpvdzMyekxIRV93VTMxdDhlTjdFLXp2MWozc1p0QmJzbHFiaUNrN3VkSTFMYmEzTUdRSGVuM2d4VlJIeTJhN19JQThRd2pJMUhZMXYzdjVqYUVFUzFOUXUxaTNtYTJCWm5hYXRtUWVuY2ExT0VIbXltTzNfeGdEUm9FdzVoV2lBRlFZTUR6WUt5RDNlWVRZWW1FUldod0txbFNaYmcxZ0pwMjF1NU0tX3FETUNWZjF5czUtWmppSnlHY1U0Tk1lMlJ1bDdHSTV0STZvci16NW1XV055LXJMQy13OWRrS0xIVWduZkxnLUYxTkhURG50TkUyUDdVVXBqdXpwM1RxdUEzMFg0SGhVbU41XzN4dXh2R0pqN3hxWW1hVDBrb1lZMGxScjJKWXFOQUtLSnVfeGJYZ2ljdWIxM2lSaXlMOENCdnFqRUhzU3pGbFFUWkNMelhULVoyc0R2N2FoU05pV3AyTGo4RVRTd08xOEc3U3Y3bmVDWG90U3FFTEFtZFRKU0gzMkxnRTc2SXh0d1dKcVlDaUEzbmNzcllzRGxDM084ekJrdm9neHlXTkwycGFHdzdEQ3NpSE1uSVpteTJ1MklwaTVKdWlTNlRldXBHNF9Dak1HaVg1ZTIyeGM2VjlaM3NmUGJSb1ZkSXpyWUYwSEYtTWdKQ0kzNlgtckdKY05meVdtcjZreGJMSGI5NHp4MHg5Y3JqUG1jMXNGOG5pOU1OWHpHeWpoRXhlV2R2dzhlWU5TeV9lNUlUdGJoenJmUkViaFQ3MlVrV1hnOUQ4YlNHNU1qNWItdFU1d3NMcWpnWmNoVHM0OE1oNFdhSTd4TW5oM2VmUjhGdmI1SVdLQldSbnh1SjJ0OFgtWUhvamJidXpxWGVRSm9wOHpWbjlRVWhTakdkZUhOajJzYTZZMUFQamd3dTZpSWcxWGp0a0NoQ0hqY0ZCNEl2bnVpM0x4SVB5OFZfSTQzcVVnSzA2cnhIZjZkZnVWNHlVT1B4cGdKaGxHa1cwS0x6M0c2X0lLUW42a0M4Wmd5d2lQNkxST0wzb282aFRzUjNEbzVqM01YbmllWTRnOXNfdXFGS2JiMlhLX00yOWdYM3lfZkxPNHA4dWxMM2RsQTFjOTV2UWtYNThhLThxakt4dDdJSG8zQnpDS1R3TUlpUHhaYzhmYnM4WkRucXE2ZmhBNWQ3enZGbU9jc21LRmhHWDd6WlNhWEM1Z2hVZENWRWJnUzM5aDVBejZUUkxSRzdwREZwQmpFdlpqOE9YcW1sVlJEcnRVdDEwVEdneHpsSzVhR01GNUotMTRmQjZRS0w1OWd5QXlkS0dXX2JPQ0lFMlFYSmpEY0E0bHhwbkZvSElpdEFwTXllX1Z6cFlFQjF6NVF1NGhhbVp4TXNZal9ERnN0R1AyZ0dYcXpyMk82UTVZVnllc3MzRDBOeHhGQ1ZsNmtQODVFYXVPeXphbkdwT1JwbElZMUpuVUZkYzgwS3U3Q3lEYzhJZ2gxak9CVHhOWUVYRUlEQUFPSDRPallxbXdVZk1uQks1OUZxWkdDSUNkRVBtNUpNbU5ON1FWMHJfclotZjVtaHhLVGl4bS1GNlJyaENSblNvd2JyTWhsZ2Q2ajNWb3VOQW1pT0RWQ0RUdFFMT3dPWTAxeHRTV1RHRHlHRjNHbExCWU1Gcm9WTEg1cnNtZkg4ZHRDTElETlYxc1NZRzVUOG9HSHhYVGtHM2VDcnJ2ZzVzZEhreldESGM5WmwzeFRTNlJCckZZNTFlNGZTTFlSeHBUVFFzcExkdmw4bW0tN2dMSV93NHlHR043ZjRQMk5SY2R5WXMtclhiU0JralFvWkpPczdldVZQX3VBX0drbDV1YW5iV2wxRWhmMDdteG40QlU0ZVpQeThTZnBzX3B5emtYa2czV0JfTnhYU2FkUXhuYk9TalhXTlFMUmtBcDJZam5pZ3BrUFU0dkx5eWk4dmNQLVFiUjM0QlppOUZpQjZjS3hFd0pLMTVqVnZicTU5TEhSSkdXZ0NRWGRhZlhDdHI4bTROV19FZjlrbFhoZTNaVk83blFYdDlkOTRRbnF3VngxMjU1Ujd1NGI3Qm5uQ3RTdXFTLVdRRGFNdE43WTVhVEpxNl9LdEU2Mjh3QU5XOFdqVVdpOWhZT1hKYV9BWklMcVRIU1dKUVAtZVFqVWlWTmJKX2cyS01fZzBLYnpKR1VvN293OHE3QWM0QWZ2SGc4S04ydWlCUGdmTXVZYXFYYTdtaU5TY0JLRUNHMFRCQjZqam5lU2xoeXQtUkhRZEVRd2tSNExoajFqUVpOZ19XeWl5UGc5bGtSVlVVNDBKMkZTdzJPMklxanRXUHJsNDJVZVNtdUEzQlFkVzI1R0JIeE53aVVraHFSY2ViZF9IOWxuRkRhaDV3UUZKNENtdW5iQW5VelBRUFJ2WTFqdmJqMl9jd2pzcFVuQXFfbkR5d1Y5NU1PTVlBM212V054STctQ1BqMjZQRWh6cWFwbEFOU0NkRDItRm9zYmNwY2wwLkRjaTlNQlRSZnlFa3cyZ0RtdURLcnNRbmhkQ3JsWTRnZFlBS0lBT2FZb0laVFlaOW1Lem5KOU11cW9yWnl0cTBxV3lGUFNfZmtXeENkTG5ZbXNRQU5n"/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/></section>

                    <div>

        <button
                class="mdc-button mdc-button--raised"
                name="submit"
                accesskey="l"
                type="submit">
            <span class="mdc-button__label">LOGIN</span>
        </button>

        </div>
                </span>
            </form>

            <hr class="my-4"/><span>
                <div id="pmlinks" class="my-2 d-flex">
        <div class="w-100">
        <a href="https://idpass.27cd.com/pwd/forgetpwd" >Reset your password</a>
        <form method="post" id="passwordlessLoginForm">
          <input type="hidden" name="execution" value="8665737d-777f-45f1-92db-551444821ca0_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LnZwU294THZlaWI1SGxmZVhPY3o0bmtFZDRYVVhLcXdUcW42S2Y0VElMSW5ndjdJRjhCNGo1em1LYnFRV2l3RHZtZ3owUzVOcnY1eHBHYzdib0RzaVVtb1FKZ3RVaGVwRDhPLUVJX3NPWTdlT0k3YzZVOHU5UDNWeDBET3RTeGtHTGdHbERTZU9wMVMxdzlKeUNvSXllZlRfWFZ1WjEtSlJJQk9VX1RSM2JxS0xQb3puNEFxaGdlOUxSY01ub3d3b29lUzFvQ1cxYXFSdWdxOGgyQlJpUkZZUEFKT2N3MGFvYTQzMWFnamJlTmowZWttNGpkekc5aXluM2dFY2hlNTdxMzJzb3FEYmRzdV9iZk9qQlRIaW1xSnpUUzROVzVsSGFMVWtFM29lMUszb2hzcWE4LXY3eHl1M2NTbnR2b3pGQVlMTVZGNThDYkpZY0daRUNWbHpHaWFWMWFGWTJEcTNUaWttczN6S19QalRkNUxiY1FBdEJDZTFUVnNMSUI5Sll4dEVyWjZkNDBoQzVrU2pZSzhHTWM5cWdNTG9HXzVxUkc0eVlLZ1ZDMWc5M1doZVNoQTZYNllqZVVuaDR0blpJLVZXME5BbEQ5WVZ2dThmQ0NMS05ab0xoVktBZGE2c1o2Y0x5TnZlT21fSHh1OF9sY3pWMmdNRWxfMVBpemY4emhuc3JVRk1IaXFsZWw3R1prWmdScU14R2tMYTlUdkRReGpWNVRWRUo0RzN1X212R0F4TjZSWlNYSktaRWNQb0huT0tSQWNycHJIejliczFDV3h3MXNVOG83OXhmSFFBcG1waGlWek5LYTNYdWU3MFhoSnZqYjhDX1F2M2J5TTB2bWhwdWtlTUI3ZmVveXUyR2s3aGdPT0d0V3RhWVgtOGlwUDRocEFmTi1YN0pxdXdFMWVMUlVuS3VoWldmYkVkbW9CSWpwZWJjbTcwcHU0Ymo1STdtR09sOHk4cU1xVjE3NDVpeEpWS3FvMUs3cUxlMUExdkE4Yi1MS3h0M0tibU9ua1FUS0RFNy1HN2w0WFRpZHdDR2x0UmFfM1MxanMtTWtBZy1Cd3NzbVFPZE9CM1ljSjhMMzNYWHB0VXFQUEhIS0NTblB3Q3gwMFRNUUo2TDlBU2lqV0trb1c5MmVBdU9JUm1qY2lqNnQzandKMXJmajNTQ3RYZVh0MEpFRW9wd3lPb1MtRzdjbEhWaElORnRBSWphcXppUnJHMF9DMmYyMUtfQUdpNXBpR3Noc0g2RWRDSkJUYVNrdTJCNVpUVjdsYUp3UC05ZUpZRmdfN0hOa01QaF84SjdsblpkZldQSHF1anBqRElhYU1HOTNwWkVkZEVJTXdPRkNkU2Fxa2tKQkd4UTF5b1k1d2k2cHRPSGczYkZBbVlranc2cm9ZTV93Mko2cUl5N0p5U29pQUtVTktiMUF0VnZmemo1d0E0QjdfSFR4Q0E1MHBsYmkyeW0yMjh1TFJCZWdnNUdYZ1VkeXQtNWZmS29TempmbWF5RFp2ZE83YWR5aU9OWEFrZXVoa1JtMXYyTzRoRVppbXk4WWg1b2pRd01Sc1J2OUo2LVRCNVpmeFBHaV9SVHg0MnZmREFrTHV5MUFXbmdCbXUyX3g3UU9YeXdLcVRkS09GUkxkQ1VZdHRneE9sejNXVGRHODl3V1plY1BMU3pCSWZfLUpxcWZ3YmxyQ3ZibTZkbmZpYTRKZXM4eGFXVHktcnVWTmR2Z21pYlNMdzhIZk03YUk0UWNtUzNKYmszaC1TSU5La3prajRzV2VKUkVqZUl2MGlXQWVxSF9wNUphOExVRkV3aDRDcFpTN09EYkwxa2R5a1NkT1k0VHE4bEFNcGZJalo1SEIxakpfeVpWNkRHQ0x5VER4RGZLeUNmR3RWcjlBTUplZlBoM1Y1aUJ4MTdnMkt4emd3QS1DcmFZNXg1Y3lZYTY4X2ZfRlhfM2xQbUJvajlnV0VnTkF6bkJTbHlLeWlmS2hWNGNRZjJsNk1Lb0MyN1Vqc1Z3XzBIZTVUR3BtM3lyUjU3Unl4U2llVXBld0VETzQyX3pnWjFSRVI1eWpmYzIzUTBHcXJxUjNGd0l4alMweXd5WlhBc0pmMmJTcWs1bFlqb09nWmdneHFuUE5KdF9uVHVvRWphemFxN0poQThGcWtPVFNnVnIyNnpUY0RMUUhYOFRtVDJnSVVSUTlIOHZKUjV3OTg2TFh3SDBpOEFKMEJ5V05DaWYtOEwxM2JYME5lWHlEcHVOQUFTTndQNV9yV3VtUmFITENTQ2xCSi12SU1nNzJ6NHllejFfV080akVEb0dvVjZLYjY2OGlWMlBEdi10NjdxejlDS1hIYnJXNGhhRTRCMnZtRTB1cURpTkFac25jTC1OUGR3enJUcl9hcldZMjM2RE9Mdk5tamJQWHQ1WGdJX2VneVJxcWF5bjRrcHFnUmNfZVNxVTllV2hZTDRsVDN3N0dwRnJqdnNTOGJqd2JMeGx6d2pFWXlDc1BITTc0SThQcFE1MTdPSGlYZ2NWeXlIaUJkc1FDOGpWV0JrNDFDVXpVVl9fdUhNSFZuNzNZWEJ3cW95eXNMMHdVZEFHY3ptRmRxTlFSR1loR25vX05NckhjYjMyRkU4ZlJKbVhQWm1iVEVFSzQ1ckxFazBGMkdtczdFQXpYUlZ0QnFBV1d3UVNnZnRBbXY0bXpkbVVKLTJCR1YwUmFBbHZNdzIyN0gxNWVOOGZfd1kyNkdacFFNVERyZmRFbVgyUkNwRlBhRGFsMlZGbDFLZzRSZE1mSjlGZWRmbnhZQTV5M2hBa3lUSXVqYV85OF85QTNUaEhWeXE3aHpjVzdwNmtmNE1lSW5zUWt2MzBxZEZQNVRWd25rYXJwMXdnTEdaQkFGbkFmWmFBZWNSZ0xqMG1wNnM4UWV5SWxIWVVVOTNZSTBjMnMxUjdZVGlDR0l1NlZDTG1KYnlMSnlJQWc2bXlTYUhvbjZxaU5YVVY4cXlUM3ZnNDAwWGlueUhDcTI1TnNsN3VZV2NYa2NPYVRrbXNFZXVKcmlwRkdzVUhqWWc5WXJIMFpvdzMyekxIRV93VTMxdDhlTjdFLXp2MWozc1p0QmJzbHFiaUNrN3VkSTFMYmEzTUdRSGVuM2d4VlJIeTJhN19JQThRd2pJMUhZMXYzdjVqYUVFUzFOUXUxaTNtYTJCWm5hYXRtUWVuY2ExT0VIbXltTzNfeGdEUm9FdzVoV2lBRlFZTUR6WUt5RDNlWVRZWW1FUldod0txbFNaYmcxZ0pwMjF1NU0tX3FETUNWZjF5czUtWmppSnlHY1U0Tk1lMlJ1bDdHSTV0STZvci16NW1XV055LXJMQy13OWRrS0xIVWduZkxnLUYxTkhURG50TkUyUDdVVXBqdXpwM1RxdUEzMFg0SGhVbU41XzN4dXh2R0pqN3hxWW1hVDBrb1lZMGxScjJKWXFOQUtLSnVfeGJYZ2ljdWIxM2lSaXlMOENCdnFqRUhzU3pGbFFUWkNMelhULVoyc0R2N2FoU05pV3AyTGo4RVRTd08xOEc3U3Y3bmVDWG90U3FFTEFtZFRKU0gzMkxnRTc2SXh0d1dKcVlDaUEzbmNzcllzRGxDM084ekJrdm9neHlXTkwycGFHdzdEQ3NpSE1uSVpteTJ1MklwaTVKdWlTNlRldXBHNF9Dak1HaVg1ZTIyeGM2VjlaM3NmUGJSb1ZkSXpyWUYwSEYtTWdKQ0kzNlgtckdKY05meVdtcjZreGJMSGI5NHp4MHg5Y3JqUG1jMXNGOG5pOU1OWHpHeWpoRXhlV2R2dzhlWU5TeV9lNUlUdGJoenJmUkViaFQ3MlVrV1hnOUQ4YlNHNU1qNWItdFU1d3NMcWpnWmNoVHM0OE1oNFdhSTd4TW5oM2VmUjhGdmI1SVdLQldSbnh1SjJ0OFgtWUhvamJidXpxWGVRSm9wOHpWbjlRVWhTakdkZUhOajJzYTZZMUFQamd3dTZpSWcxWGp0a0NoQ0hqY0ZCNEl2bnVpM0x4SVB5OFZfSTQzcVVnSzA2cnhIZjZkZnVWNHlVT1B4cGdKaGxHa1cwS0x6M0c2X0lLUW42a0M4Wmd5d2lQNkxST0wzb282aFRzUjNEbzVqM01YbmllWTRnOXNfdXFGS2JiMlhLX00yOWdYM3lfZkxPNHA4dWxMM2RsQTFjOTV2UWtYNThhLThxakt4dDdJSG8zQnpDS1R3TUlpUHhaYzhmYnM4WkRucXE2ZmhBNWQ3enZGbU9jc21LRmhHWDd6WlNhWEM1Z2hVZENWRWJnUzM5aDVBejZUUkxSRzdwREZwQmpFdlpqOE9YcW1sVlJEcnRVdDEwVEdneHpsSzVhR01GNUotMTRmQjZRS0w1OWd5QXlkS0dXX2JPQ0lFMlFYSmpEY0E0bHhwbkZvSElpdEFwTXllX1Z6cFlFQjF6NVF1NGhhbVp4TXNZal9ERnN0R1AyZ0dYcXpyMk82UTVZVnllc3MzRDBOeHhGQ1ZsNmtQODVFYXVPeXphbkdwT1JwbElZMUpuVUZkYzgwS3U3Q3lEYzhJZ2gxak9CVHhOWUVYRUlEQUFPSDRPallxbXdVZk1uQks1OUZxWkdDSUNkRVBtNUpNbU5ON1FWMHJfclotZjVtaHhLVGl4bS1GNlJyaENSblNvd2JyTWhsZ2Q2ajNWb3VOQW1pT0RWQ0RUdFFMT3dPWTAxeHRTV1RHRHlHRjNHbExCWU1Gcm9WTEg1cnNtZkg4ZHRDTElETlYxc1NZRzVUOG9HSHhYVGtHM2VDcnJ2ZzVzZEhreldESGM5WmwzeFRTNlJCckZZNTFlNGZTTFlSeHBUVFFzcExkdmw4bW0tN2dMSV93NHlHR043ZjRQMk5SY2R5WXMtclhiU0JralFvWkpPczdldVZQX3VBX0drbDV1YW5iV2wxRWhmMDdteG40QlU0ZVpQeThTZnBzX3B5emtYa2czV0JfTnhYU2FkUXhuYk9TalhXTlFMUmtBcDJZam5pZ3BrUFU0dkx5eWk4dmNQLVFiUjM0QlppOUZpQjZjS3hFd0pLMTVqVnZicTU5TEhSSkdXZ0NRWGRhZlhDdHI4bTROV19FZjlrbFhoZTNaVk83blFYdDlkOTRRbnF3VngxMjU1Ujd1NGI3Qm5uQ3RTdXFTLVdRRGFNdE43WTVhVEpxNl9LdEU2Mjh3QU5XOFdqVVdpOWhZT1hKYV9BWklMcVRIU1dKUVAtZVFqVWlWTmJKX2cyS01fZzBLYnpKR1VvN293OHE3QWM0QWZ2SGc4S04ydWlCUGdmTXVZYXFYYTdtaU5TY0JLRUNHMFRCQjZqam5lU2xoeXQtUkhRZEVRd2tSNExoajFqUVpOZ19XeWl5UGc5bGtSVlVVNDBKMkZTdzJPMklxanRXUHJsNDJVZVNtdUEzQlFkVzI1R0JIeE53aVVraHFSY2ViZF9IOWxuRkRhaDV3UUZKNENtdW5iQW5VelBRUFJ2WTFqdmJqMl9jd2pzcFVuQXFfbkR5d1Y5NU1PTVlBM212V054STctQ1BqMjZQRWh6cWFwbEFOU0NkRDItRm9zYmNwY2wwLkRjaTlNQlRSZnlFa3cyZ0RtdURLcnNRbmhkQ3JsWTRnZFlBS0lBT2FZb0laVFlaOW1Lem5KOU11cW9yWnl0cTBxV3lGUFNfZmtXeENkTG5ZbXNRQU5n" /><input type="hidden" name="_eventId" value="passwordlessLogin" /></form>
        </div>
        <span style="color:red;width:10em">Do not transfer secret!</span>
        </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);
                    });
                    
                    function refreshCaptcha() {
                      var id = Date.now();
                      var url = "/cas/captcha?" + id;
                      console.log(url);
                      $("#captchaImg").attr("src", url);
                    }
                    
                $(document).ready(function () {
                    $("#fm1").submit(function () {
                        $(":submit").attr("disabled", true);
                        $(":submit").attr("value", i);
                        return true;
                    });
                    
                    
                    $("#captchaImg").click(refreshCaptcha);
                });
            </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>
        </div>
</div>
    </main>
</div>

<footer class="py-4 d-flex justify-content-center cas-footer">
   <div>
    <div>你可以访问：
     <a href="https://www.27cd.com">&#x6c90;&#x9e23;主页</a> |
     <a href="https://portal.27cd.com">数字平台</a> |
     <a href="http://wf.27cd.com">网上办事中心</a> 
    </div>
    <div>
       <span id="copyright" class="mr-2 d-inline-block">Copyright &copy; 2005&ndash;2021 Shanghai Maritime University.<br />This system only support Internet Explorer 11(and above version) and Chrome</span>
       <!--<span class="mr-2 d-inline-block" >Powered by <a href="https://github.com/apereo/cas">Apereo CAS</a></span> --></div>
  </div>
</footer>

</body>
</html>
