cas5.3.2单点登录-配置记住我(十六)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34021712/article/details/82225800

原文地址,转载请注明出处: https://blog.csdn.net/qq_34021712/article/details/82225800     ©王赛超 

正常情况下,在application.properties中配置开启记住我,在登录页面是会显示记住我的文本框,如下图:
这里写图片描述
但是由于我们使用的是自定义登录页面,配置了记住我之后,页面上也没有显示该复选框,默认一直没有记住我,所以想要开启记住我,还需要将该文本框的代码粘贴到登录页。

具体操作

1.application.properties添加如下配置

#记住我
cas.ticket.tgt.rememberMe.enabled=true
cas.ticket.tgt.rememberMe.timeToKillInSeconds=3600

2.完整的登录页面如下

其中记住我的 html 标签代码内容是从
templates/fragments/loginform.html中拷贝过来的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title th:text="${#themes.code('cas.page.title')}"></title>
    <link rel="stylesheet" th:href="@{${#themes.code('cas.myself.css')}}"/>
    <script th:src="@{${#themes.code('cas.javascript.file')}}"></script>
</head>

<body>
<h2 th:text="${#themes.code('cas.page.title')}"></h2>
<div>
    <form method="post" th:object="${credential}">
        <div th:if="${#fields.hasErrors('*')}">
            <span th:each="err : ${#fields.errors('*')}" th:utext="${err}" style="color: red" />
        </div>
        <h4 th:utext="#{screen.welcome.instructions}"></h4>
        <section class="row">
            <label for="username" th:utext="#{screen.welcome.label.netid}" />
            <div th:unless="${openIdLocalId}">
                <input class="required" id="username" size="25" tabindex="1" type="text"
                       th:disabled="${guaEnabled}"
                       th:field="*{username}"
                       th:accesskey="#{screen.welcome.label.netid.accesskey}"
                       autocomplete="off"
                       th:value="admin" />
            </div>
        </section>
        <section class="row">
            <label for="password" th:utext="#{screen.welcome.label.password}"/>
            <div>
                <input class="required" type="password" id="password" size="25" tabindex="2"
                       th:accesskey="#{screen.welcome.label.password.accesskey}"
                       th:field="*{password}"
                       autocomplete="off"
                       th:value="123456" />
            </div>
        </section>
        <section class="form-check" th:if="${rememberMeAuthenticationEnabled}">
            <p>
                <input type="checkbox" name="rememberMe" id="rememberMe" value="true" tabindex="5"/>
                <label for="rememberMe" th:text="#{screen.rememberme.checkbox.title}">Remember Me</label>
            </p>
        </section>

        <section>
            <input type="hidden" name="execution" th:value="${flowExecutionKey}" />
            <input type="hidden" name="_eventId" value="submit" />
            <input type="hidden" name="geolocation" />
            <input class="btn btn-submit btn-block" name="submit" accesskey="l" th:value="#{screen.welcome.button.login}" tabindex="6" type="submit" />
        </section>
    </form>
</div>
</body>
</html>

测试演示

第一步:首先 不选择记住我登录 然后退出浏览器。
第二步:打开浏览器,再次访问服务 发现需要登录。
第二步:选择 记住我登录,然后退出浏览器。
第四步:打开浏览器,访问服务,直接就是登录成功状态。(前提是退出浏览器前不要登出)
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_34021712/article/details/82225800