李宇
2020-12-17 88470ddb6068d6f23e456b254c76914ab2a765e4
强制改密码
已修改3个文件
94 ■■■■ 文件已修改
src/main/java/com/nanometer/smartlab/controller/LoginController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/controller/UserMngController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/index.xhtml 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/controller/LoginController.java
@@ -30,6 +30,7 @@
    private String loginAcct;
    private String loginPwd;
    private static Byte ischange = 0;
    public String login() {
        UsernamePasswordToken token = new UsernamePasswordToken(loginAcct, loginPwd);
@@ -48,6 +49,11 @@
        if (currentUser.isAuthenticated()) {//登录成功进入主页
            SysUser user = this.sysUserService.getSysUserByAccount(loginAcct);
            currentUser.getSession(true).setAttribute(Constants.SESSION_USER, user);
            String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$";
            if (!loginPwd.matches(PW_PATTERN)) {
                ischange = 1;
            }
            this.menuController.initPage();
            return Constants.PAGE_INDEX + Constants.REDIRECT;
@@ -77,4 +83,13 @@
    public void setLoginPwd(String loginPwd) {
        this.loginPwd = loginPwd;
    }
    public Byte getIschange() {
        return ischange;
    }
    public void setIschange(Byte ischange) {
        this.ischange = ischange;
    }
}
src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -99,8 +99,7 @@
    }
    public void updatePassword() {
            this.username = getUser().getName();
            this.sysUser = getUser();
        this.username = getUser().getName();
    }
@@ -267,6 +266,8 @@
    public String updatePasswordAction() throws NoSuchAlgorithmException, CharacterCodingException
    {
        this.sysUser = getUser();
        if(!this.sysUser.getPassword().equals(MD5Utils.encode(this.oriPassword)))
        {
            FacesUtils.warn("原密码错误,请重新输入!");
src/main/webapp/index.xhtml
@@ -27,6 +27,7 @@
                        <p:outputLabel value="智慧实验室试剂全过程安全管理系统" style="color: #ffd74a"></p:outputLabel>
                    </p:column>
                    <p:column styleClass="header-personal">
                        <h:inputHidden id="ischange" value="#{loginController.ischange}"></h:inputHidden>
                        <p:commandLink class="userName" style="margin-right: 30px" value="#{menuController.userName}" action="#{userMngController.updatePassword}" oncomplete="PF('dialogPassword').show();" update=":dialogPassword,:dialogFormPassword"></p:commandLink >
                        <p:commandLink class="logout" action="#{loginController.logout}" ajax="false"></p:commandLink>
                    </p:column>
@@ -36,32 +37,71 @@
        <p:dialog modal="true" header="#{'修改密码'}" appendTo="@(body)"
              id="dialogPassword" widgetVar="dialogPassword"
              resizable="false" width="420">
        <h:form id="dialogFormPassword">
            <p:panelGrid columns="1" styleClass="content">
                <p:outputLabel value="账号"></p:outputLabel>
                <p:inputText value="#{userMngController.username}" maxlength="100"
            <h:form id="dialogFormPassword">
                <p:panelGrid columns="1" styleClass="content">
                    <p:outputLabel value="账号"></p:outputLabel>
                     <p:inputText value="#{userMngController.username}" maxlength="100"
                             required="true" requiredMessage="请输入原密码"></p:inputText>
                <p:outputLabel value="原密码"></p:outputLabel>
                <p:password value="#{userMngController.oriPassword}" maxlength="100"
                    <p:outputLabel value="原密码"></p:outputLabel>
                    <p:password value="#{userMngController.oriPassword}" maxlength="100"
                             required="true" requiredMessage="请输入原密码"></p:password>
                <p:outputLabel value="新密码"></p:outputLabel>
                <p:password value="#{userMngController.newPassword}" maxlength="100"
                     <p:outputLabel value="新密码"></p:outputLabel>
                     <p:password value="#{userMngController.newPassword}" maxlength="100"
                             required="true" requiredMessage="请输入新密码"></p:password>
                <p:outputLabel value="确认密码"></p:outputLabel>
                    <p:outputLabel value="确认密码"></p:outputLabel>
                             <p:password value="#{userMngController.newPasswordSecond}" maxlength="100"
                             required="true" requiredMessage="请输入确认密码"></p:password>
            </p:panelGrid>
            <p:panel styleClass="btn">
                <p:commandButton value="修改" actionListener="#{userMngController.updatePasswordAction}"
                </p:panelGrid>
                <p:panel styleClass="btn">
                    <p:commandButton value="修改" actionListener="#{userMngController.updatePasswordAction}"
                                 process="@form">
                    <p:confirm header="确认" message="确认操作?"></p:confirm>
                </p:commandButton>
            </p:panel>
        </h:form>
    </p:dialog>
                        <p:confirm header="确认" message="确认操作?"></p:confirm>
                    </p:commandButton>
                </p:panel>
            </h:form>
        </p:dialog>
        <p:dialog modal="true" header="#{'重置密码'}" appendTo="@(body)"
                  id="changePassword" widgetVar="changePassword"
                  width="420" style="left: 650px;top: 250px;"
                  closable="false">
            <h:form id="changeFormPassword">
                <p:panelGrid columns="1" styleClass="content">
                    <p:outputLabel value="账号"></p:outputLabel>
                    <p:inputText value="#{menuController.userName}" maxlength="100"
                                 readonly="true"></p:inputText>
                    <p:outputLabel value="原密码"></p:outputLabel>
                    <p:password value="#{userMngController.oriPassword}" maxlength="100"
                                required="true" requiredMessage="请输入原密码"></p:password>
                    <p:outputLabel value="新密码"></p:outputLabel>
                    <p:password value="#{userMngController.newPassword}" maxlength="100"
                                required="true" requiredMessage="请输入新密码"></p:password>
                    <p:outputLabel value="确认密码"></p:outputLabel>
                    <p:password value="#{userMngController.newPasswordSecond}" maxlength="100"
                                required="true" requiredMessage="请输入确认密码"></p:password>
                </p:panelGrid>
                <p:panel styleClass="btn">
                    <p:commandButton value="修改" actionListener="#{userMngController.updatePasswordAction}"
                                     process="@form">
                        <p:confirm header="确认" message="确认操作?"></p:confirm>
                    </p:commandButton>
                </p:panel>
            </h:form>
        </p:dialog>
        <script>
            // console.log($('#northForm\\:ischange').val())
            // if($('#northForm\\:ischange').val() == 0){
            //     $("#changePassword").hide();
            // }else {
            //     $("#changePassword").show();
            // }
        </script>
    </ui:define>
    <ui:define name="west">