抚顺网站开发招聘wordpress更改主题

news/2025/10/3 15:04:27/文章来源:
抚顺网站开发招聘,wordpress更改主题,襄阳建设路21号创意园网站,保定专业网站制作文章目录1. html 部分2. js部分3. 拦截器部分4. 认证授权部分5. 控制层部分6. 工具类实现流程: 1.从reqest域中获取现在登陆的新sessionId 2.根据登陆的用户名从reqest域中获取已经登陆的老sessionId 3.判断老sessionId是否存在和新旧sessionId是否是否一致 如果一直返回当前用… 文章目录1. html 部分2. js部分3. 拦截器部分4. 认证授权部分5. 控制层部分6. 工具类实现流程: 1.从reqest域中获取现在登陆的新sessionId 2.根据登陆的用户名从reqest域中获取已经登陆的老sessionId 3.判断老sessionId是否存在和新旧sessionId是否是否一致 如果一直返回当前用户和当前用户已经登陆的ip地址 前台根据返回的结果页面弹框提示 1. html 部分 form idformId classlayui-form action${ctxPath}/login methodpost!-- 用户名 --div classlayui-form-itemdiv classlayui-input-blockimg src${ctxPath}/assets/common/img/user.pnginput idusername typetext nameusername idusername requiredlay-verifyrequired placeholder输入用户名 autocompleteoff classlayui-input/div/div!-- 密码 --div classlayui-form-itemdiv classlayui-input-blockimg src${ctxPath}/assets/common/img/password.pnginput typepassword namepassword idpassword required lay-verifyrequiredplaceholder输入密码 autocompleteoff classlayui-input/div/div!-- 记住密码 --div classlayui-form-itemlabel classlayui-form-label lay-tips7天内免登陆stylewidth:60px !important;padding:9px 0;margin-right:20px记住密码/labeldiv classlayui-input-blockinput classradio typeradio nameremember valueon title是input typeradio nameremember valueoff title否 checked/div/div!-- 登录按钮 --div classlayui-form-itembutton lay-filterlogin-submit idsubmit classlayui-btn layui-btn-primary loginBtnlay-submit登录/button/div/form2. js部分 scriptlayui.use([layer, form], function () {var $ layui.jquery;var layer layui.layer;var form layui.form;$(#submit).click(function () {$.ajax({url: /checkLogin,type: POST,dataType: json,data: {username: $(#username).val()},async: false,success: function (msg) {var ip msg.data.ip;if (ip ! ) {if (window.confirm(用户 $(#username).val() 已在 ip 登陆是否在本电脑登陆?)) {falg true;} else {falg false;}}$(#formId).submit();}});return falg;});var errorMsg ${tips!};if (errorMsg) {layer.msg(errorMsg, {icon: 5, anim: 6});}}); /script 3. 拦截器部分 package com.gblfy.controller;import cn.stylefeng.roses.core.reqres.response.ResponseData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.Map;/*** 登陆前校验** author guobin* date 2021-01-27*/ Controller public class CheckLogInController {private final static Logger logger LoggerFactory.getLogger(CheckLogInController.class);RequestMapping(value /checkLogin, method RequestMethod.POST)ResponseBodypublic ResponseData CheckLogin(HttpServletRequest request, HttpServletResponse httpServletResponse) { // Boolean flag false;//true-已经登陆 false-未登陆或登陆session一样String ip ;//返回空-未登录。非空-已登录MapString, Object mmap new HashMap();try {//获取当前用户的sessionIdString sessionId request.getSession().getId();//当前sessionidString username request.getParameter(username).trim();//用户名String sessionIdOld (String) request.getServletContext().getAttribute(username);//老sessionId//如果老sessionId不为null 且新老sessionId不一致,则当前账号已有人登陆mmap.put(ip,ip);if (null ! sessionIdOld !.equals(sessionId) !sessionId.equals(sessionIdOld)) {ip (String) request.getServletContext().getAttribute(username IP);mmap.put(ip,ip);}} catch (Exception e) {logger.error(从session中获取用户登陆ip失败:, e);ip ;}return ResponseData.success(mmap);} }4. 认证授权部分 /*** 不需要权限验证的资源表达式*/ListString NONE_PERMISSION_RES CollectionUtil.newLinkedList(/assets/**,/checkLogin,/login, /global/sessionError, /kaptcha, /error, /global/error);5. 控制层部分 /*** 点击登录执行的动作** author gblfy* Date 2019/11/23 5:42 PM*/RequestMapping(value /login, method RequestMethod.POST)public String loginVali(HttpServletRequest request) {String sessionId request.getSession().getId();String username super.getPara(username).trim();String password super.getPara(password).trim();//如果开启了记住我功能String remember super.getPara(remember);Subject currentUser ShiroKit.getSubject();UsernamePasswordToken token new UsernamePasswordToken(username, password.toCharArray());//如果开启了记住我功能if (on.equals(remember)) {token.setRememberMe(true);} else {token.setRememberMe(false);}//执行shiro登录操作currentUser.login(token);//登录成功记录登录日志ShiroUser shiroUser ShiroKit.getUserNotNull();super.getSession().setAttribute(shiroUser, shiroUser);super.getSession().setAttribute(username, shiroUser.getAccount());try {//获取老sessionIdString sessionIdOld (String) request.getServletContext().getAttribute(username);if (null ! sessionIdOld !sessionId.equals(sessionIdOld)) {//注销老sessionHttpSession session (HttpSession) request.getServletContext().getAttribute(sessionIdOld);session.invalidate();}//获取老sessionId} catch (Exception e) {e.printStackTrace();//非正常清空session}//重新赋值 request.getSession().getServletContext().setAttribute(username, sessionId);request.getSession().getServletContext().setAttribute(sessionId, request.getSession());request.getSession().getServletContext().setAttribute(username IP, Inet4AddresslUtils.getReqIp(request));LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));ShiroKit.getSession().setAttribute(sessionFlag, true);return REDIRECT /;} 6. 工具类 package com.gblfy.controller;import org.slf4j.Logger; import org.slf4j.LoggerFactory;import javax.servlet.http.HttpServletRequest; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration;public class Inet4AddresslUtils {private final static Logger logger LoggerFactory.getLogger(Inet4AddresslUtils.class);/*** 获取请求主机的ip地址** param request* return*/public static String getReqIp(HttpServletRequest request) {String ip request.getHeader(x-forwarded-for);if ((ip null) || (ip.length() 0) || (unknown.equalsIgnoreCase(ip))) {ip request.getHeader(Proxy-Client-IP);}if ((ip null) || (ip.length() 0) || (unknown.equalsIgnoreCase(ip))) {ip request.getHeader(WL-Proxy-Client-IP);}if ((ip null) || (ip.length() 0) || (unknown.equalsIgnoreCase(ip))) {ip request.getRemoteAddr();}return ip;}/*** 获取服务器本机的ip地址** return*/public static String getInet4Address() {EnumerationNetworkInterface nis;String ip null;try {nis NetworkInterface.getNetworkInterfaces();for (; nis.hasMoreElements(); ) {NetworkInterface ni nis.nextElement();EnumerationInetAddress ias ni.getInetAddresses();for (; ias.hasMoreElements(); ) {InetAddress ia ias.nextElement();if (ia instanceof Inet4Address !ia.getHostAddress().equals(127.0.0.1)) {ip ia.getHostAddress();}}}} catch (SocketException e) {logger.error(获取ip地址异常, e);}return ip;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

和水导学习的第二篇笔记

操作系统 操作系统的作用 将外部指令传给CPU 操作系统有什么 计算机有什么组成: 应用程序:便利生活,具体干活,和操作系统,人交互 操作系统:接收外部指令,控制硬件,和人,硬件,应用程序交互 硬件:操作数据,和…

微信公众号推文添加附件方法,1分钟学会!支持word,excel,pdf等适合招聘,公告,申请表等

微信公众号图文文章时,总会遇到带有附件的文章,但微信公众号本身并不具备直接上传附件的功能,那编辑者们是如何快速在微信公众号中添加office、pdf和word等附件,以供用户快速预览或保存使用的呢?微信公众号图文文…

社保在哪个网站做增员网站建设兼职挣多少钱

01.dns解析过程02.用户访问网站流程03.局域网电脑上网流程04.网站架构图解转载于:https://blog.51cto.com/qinbin/1954149

bMIND包本地安装

https://github.com/randel/MIND 下载code,下载下来是MIND-master.zip,本地R安装要求严格是“MIND-master.tar.gz” 格式转化: # 如果机器上有 git: cd /public/home/chidm/Downloads git clone https://github.com…

百度电商MultiAgent视频生成系统 - 详解

百度电商MultiAgent视频生成系统 - 详解2025-10-03 14:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

网络实践——基于epoll_ET工作、Reactor设计模式的HTTP服务 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

为博客写遗言

写下这段文字的时候,内心是极挣扎的 可能是【数据删除】临近了,所以情感上的波动愈发强烈 不久后,就要和 cnblogs 说再见了,甚至是和电脑说再见了足足 249 篇博客,不舍、痛苦、伤感是难免的 博客快断更了,应当有…

2025国庆Day2

模拟赛 T1 简单题 离散化+差分即可 或者直接贪心 对可能成为答案的点计算删的区间并取min #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath>…

灵犀科技网站开发WordPress获取评论内容

5大安全产品全面升级&#xff0c;抢先了解&#xff1a;https://developer.aliyun.com/topic/securityapril 预约观看发布会&#xff1a;https://yq.aliyun.com/live/2670 新基建大势之下的物联网 近日&#xff0c;中央政治局常委会会议提出&#xff0c;加快发展5G、数据中心、…

新能源汽车整车电控环境详解!

新能源汽车整车电控环境详解!pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

《吃透 C++ vector:从基础使用到核心接口实战指南》 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

广州旅游网站建设设计学做投资网站好

DevExpress ASP. NET Scheduler组件能完全复制Microsoft Outlook Scheduler的样式和功能&#xff0c;具有日、周、月和时间轴视图&#xff0c;并包括内置的打印支持&#xff0c;因此用户可以在尽可能短的时间内交付全功能的个人信息管理系统。在上文中&#xff08;点击这里回顾…

完整教程:GitOps:一种实现云原生的持续交付模型

完整教程:GitOps:一种实现云原生的持续交付模型pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

黑马程序员苍穹外卖学习指南(本文消除我跟视频做该项目时遇到的问题和解决方法)

黑马程序员苍穹外卖学习指南(本文消除我跟视频做该项目时遇到的问题和解决方法)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

做网站的个人心得学校网站模版

基于蚁群算法的TSP问题建模求解 一、蚁群优化算法&#xff08;Ant Colony Optimization&#xff0c;ACO&#xff09;1.1 蚁群算法的起源——“双桥实验”1.2 蚁群优化算法思想1.3 蚁群算法应用于求解组合优化问题 二、基于蚁群算法的TSP问题建模求解2.1 旅行商问题&#xff08;…

佛山网站建设百家号网站统计平台

使用Selenium处理动态生成的网页内容和语法代码可以通过以下步骤进行&#xff1a; 安装Selenium库&#xff1a;使用pip命令安装Selenium库&#xff0c;可以在命令行中运行如下命令&#xff1a; pip install selenium 下载WebDriver&#xff1a;Selenium需要与特定的浏览器进行交…

P11983 [JOIST 2025] 展览会 3 题解

Description JOI 美术馆计划近期举办一场绘画展览。馆方拥有编号为 \(1\) 至 \(N\) 的 \(N\) 幅画作,其中画作 \(i\)(\(1 \leq i \leq N\))的美观值为 \(A_i\)。在展览中这些画作将排成一行展示,但具体排列顺序尚未…

黑客马拉松(Hackathon)

黑客马拉松(Hackathon)黑客马拉松是一种 短时间内高强度的软件/硬件开发活动。一般持续 24~72 小时,有的甚至一周。参与者通常是开发者、设计师、产品经理等,组成小团队。目标是在有限时间里,从零开始,开发出一个…

详细介绍:Quarkus深度解析:响应式编程与Native镜像,如何重构Java云原生应用?

详细介绍:Quarkus深度解析:响应式编程与Native镜像,如何重构Java云原生应用?2025-10-03 14:29 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overfl…