后台登陆校验

后台登陆功能设计(个人博客) 后台登陆功能设计 一、自定义登陆页面 <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial 阅读详情

这个问题很深刻啊,假如你还没登陆,就从购物网站提交订单,这个时候购物网站会提醒你:亲,你还没有登陆!

这个时候我们需要做的就是这么个功能,我们怎么实现这个代码呢!我以SSH为例啊。


首先我们得写一个校验类去检验session中是否有用户的信息,我一般是把用户信息保存到session,这样方便后面调用。这里其实有两种方法,一种就是直接在需要用到用户信息的类中,从session中取数据,进而进行一定的逻辑判断,第二种在后面说明

第一种:

User existUser = (User) ServletActionContext.getRequest().getSession()
					.getAttribute("existUser");
		if(existUser == null){
			addActionError("亲!您还没有登陆!请先登陆");
			return "login";
		}
这个是比较简单的,逻辑也是比较清楚的,但是要是针对某一类都得进行登陆校验,怎么办,每个代码块都加这个嘛,肯定不行,所以有了第二种
public class PrivilegeInterceptor extends MethodFilterInterceptor{

	@Override
	//执行拦截的方法
	protected String doIntercept(ActionInvocation arg0) throws Exception {
		//判断session中是否有后台用户的信息
		AdminUser existAdminUser = (AdminUser) ServletActionContext.getRequest().getSession()
			.getAttribute("existAdminUser");
		if(existAdminUser == null){
			//没有登陆
			ActionSupport actionSupport = (ActionSupport) arg0.getAction();
			actionSupport.addActionError("亲,您还没有他妈的登陆");
			return "loginFail";
		}else{
			//已经登陆
			return arg0.invoke();
		}
	}
}

这个类继承MethodFilterInterceptor这个类,主要用于每次校验,自行百度吧。然后吧这个配置到struts.xml文件中就可以了
<interceptors>
		<interceptor name="PrivilegeInterceptor" class="校验类的路径地址"/>
	</interceptors>
<!-- 配置首页访问的Action -->
		<action name="index" class="indexAction">
			<result name="index">/WEB-INF/jsp/index.jsp</result>
			<interceptor-ref name="PrivilegeInterceptor"></interceptor-ref>
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</action>
正如上面代码所示,必须在struts.xml文件中配置,这样你每次使用到这个action的时候就会进行一次PrivilegeInterceptor类中所写的校验,这个说方便也方便,说不方便也不方便,关键看应用场景,对,适合才合适




后台管理系统-------登录功能@zj-zhangjie 后台管理系统-------登录功能实现(element-ui) 登录页面代码(login): <template> <div class="login"> <el-form :model="userinfo" :rules="loginRules" label-position="right" class="el_box" label-width="60px" > <el-f 阅读详情

相关推荐

后台管理员登录实现--系统篇

createToken方法是生成登录令牌的方法,这里就不展开了,因为我没想好,只是随手实现了一下,getClientIp这个是获取客户端ip的方法,也是没想好怎么写,不展开了,随手实现了一个。既然后端已经支持登录验证,那么前面写的上传图片和删除图片的前端部分也要作出修改,提供相应支持,其实就是增加发送参数token,Upload1.vue文件修改如下。exist.login_exist,这个就是页面开关,为false的时候就显示登录页面,登录成功后可以设置为true,至于差不多居中显示代码如下。

xiaohuatu的博客 2579

应用篇1.3 后台登陆界面设计

应用篇1.3 后台登陆界面审计 一、后台登陆界面图: 各种准备工作完毕后,对于这款日程管理类的软件,首先设计一个后台登陆功能。可以通过密码保护自己的日程隐私。 1、初次登陆界面如图1.1所示。 2、如果已经设置了密码,登陆界面如图1.2所示。 二、登陆界面代码 初次登陆: <LinearLayout xmlns:android="http://schemas.a

AI布道师W 1796

后台登陆防刷、防爆破以及正常的登录校验

背景 前几天项目上需要对一个正常登陆接口,以及忘记密码的接口进行防爆破处理,这里我用nginx,redis,以及前端的一些简单的图形拖动来做一个简单的安全机制,可能有不完善的地方,大家可以提出来意见。 技术分析 其实一个接口是无法完全避免接口爆破的,区分人和机器或许可以使用谷歌的图片验证机制,但是我们一般简单项目没必要做那么复杂的,只需要确保不正常的访问频率不会爆破出我们的用户信息,以及让我们机器的处理流量保存在可控范围即可。 实现的效果有下面这几点: 验证码只能60s获取一次 并且3小时内只能获取

ZzzzjQqqq的博客 1814

基于Springboot外卖系统04:后台系统用户登录+登出功能

登录业务流程① 在登录页面输入用户名和密码 ② 调用后台接口进行验证③ 通过验证之后,根据后台的响应状态跳转到项目主页2. 登录业务的相关技术点 http 是无状态的通过 cookie 在客户端记录状态通过 session在服务器端记录状态通过 token 方式维持状态如果前端与后台接口之间不存在跨域问题,那么推荐使用cookie和session来记录登录状态。反之,如果前端与服务器接口之间存在跨域问题,那么就要使用token的方式来维持登录状态。......

小李的研究生学习日记 1万+

微擎 后台 如何 绕过登陆校验

web\index.php 中 找到checklogin();方法 $action 为 微擎 地址栏中 的参数 a 判断 $action 不等于 你要访问的 控制器文件名 即可 例如 web\source\platform 模块 进入 __init.php 文件中 也进行判断 $action不等于 你要访问的 控制器文件名 即可 ...

fuchto的博客 1316

vue系列---【vue项目中element-ui如何实现在登陆之前进行预校验校验通过才允许调后台接口】

需求:点击登陆,先校验校验通过再调后台接口 1.给登陆按钮绑定点击事件:@click="login"; 2.实现login函数,并调用validate方法,返回值为true,则说明验证通过,再去调后台登陆接口。 代码如下: <template> <div class="login-container"> <div class="login_box"> <!--头像区域--> <div class="avatar.

m0_58717408的博客 126

$.ajax请求做登陆校验,执行完beforeSend,原地刷新页面。后台controller正常执行,但无法接收到后台响应

$.ajax请求做登陆校验,执行完beforeSend,原地刷新页面。后台controller正常执行,但无法接收到后台响应 $.ajax,仅执行beforeSend,未执行complete,未进入success/error的function。 登陆的ajax请求。 <script> function register() { var user = new Object(); user.Uname=$.trim($("#rusern

旗袍不开、怎么得胜? 447

PHP学习笔记(七):前台用户登陆后台匹配数据库进行校验

有两个文件login.html和login_check.php login.html <!-- 作者:1121263265@qq.com 时间:2015-06-28 描述:这个里面有几个知识点: 1、重置按钮的type=reset,可以直接清除输入框的内容 2、提交按钮,提交前进行校验的方法,就是写一个脚本check函数,然后在onclick时触发 --> library

汤圆学Java 1851

从零开始写项目第三篇【登陆注册模块】

tags: 从零开发项目 登陆模块目标 我要将其弄成类似的登陆,功能是要比较完善的。 本来我是想做一步写一步的,但是发现这样文章就会太乱,因为要改的地方太多了。前面写过的,后边就被修改了。这样看起来太混乱了。因此我现在是写完代码才来补这篇记录的。尽可能把当时的思路记录下来,并且捋一捋看一下有没有不足的地方。 编写注册模块过程 我的登陆注册模块主要是使用邮箱,这部分之前是没有了解过的。因此去找...

weixin_34123613的博客 324

Vue电商后台管理系统功能展示

项目技术:html、css、javascript、node.js、vue、mysql 项目描述:电商后台管理系统,主要功能包括:用户账号管理、商品分类、商品信息、订单、数据统计等业务功能。采用前后端分离的开发模式,其中前端项目是基于Vue技术栈的SPA项目,通过API接口连接服务器,访问mysql数据库。 成品效果展示: 一、登陆界面 二、登陆校验规则 三、登陆成功后,保存Token 四、用户管理页面 五、添加用户功能(采用正则表达式进行校验) 六、添加用户成功,弹出消息框 .

weixin_45065754的博客 6326

【springSecurity6】用户名密码登陆校验后台只能收到用户名字段,收不到密码pwd字段

用户名字段username,密码是pwd(问题就在这,跟往常password不同):前台输入用户名和密码之后,后台只能接收到用户名,接收不到前台输入的密码(pwd)字段:取名尽量还是要规范,不然会导致框架识别不到这个字段的值。

hfssss的博客 649

php生成SessionID和图片校验码的思路和实现

做一个后台登陆需要用到校验码,前台的用户跟踪需要用到SessionID,当然,默认的PHP开启了Session以后就有了一个SessionID,但是我需要自己的,并且能够存储进数据库,那么我就尝试了一下,构造了以下的函数。/****** 产生Session ID ******/基本的思路:  是把当前微秒的时间获取, 然后产生以个随机数字, 把随机数字和当前时间相加后加密一下, 最后再截取需要的长

heiyeluren的blog(黑夜路人的开源世界) 6391

一起使用GO(golang) 来做一个后台管理系统系列(5) 实现登录部分,校验登陆用户

首先修改页面的login.html 添加页面登陆事件 这块js写的: function login() { var formData = new FormData(); formData.append("username",$('input[name="username"]').val()) formData.append("password",$('input[name="password"]').val())

个人的工作随笔和日记,主要作为一个记录风向平台 1394

【.net core】【wetercloud】处理前端项目免登陆,且从前端项目跳转至系统内时的问题

【.net core】【wetercloud】处理前端项目免登陆,且从前端项目跳转至系统内时的问题

MoFe1的博客 550

小程序的登陆流程个人详解

小程序的登陆流程个人分析 最近开发了小程序,小程序感觉有很多坑,比方说授权方式从主动推送现在改为了必须主动点击,还有类似于无法进行双向绑定,还有表单校验的问题,这里先写一下我认为比较关键的小程序的 登陆流程 下面这张图是小程序官方文档登陆流程图 光看这张图理解起来其实是有点难以理解的 这里我先分析一下我在做小程序的时候登陆的流程 登陆流程 ​ 首先我们手动触发wx.login()这个内置...

有问题 ! 请留言 ! 2714

JS&微信_第三方网站扫码登陆

微信扫码登陆 - 开放平台 doc 开放平台API 企业微信扫码登陆 - 企业微信开发者文档 企业微信开发者文档API 步骤 首先在配置里面配置授权回调,不需要带协议。实际的回调页面必须和配置的一样。中间页和回调页面需要同一个域名否则回调页面拿不到code 写一个过度页面-中间页(空白页)用于做判断:是否拿到code(url query),若没拿到跳微信扫码页面(独立窗口/内嵌窗口-具体...

weixin_30908707的博客 340

一起使用GO(golang) 来做一个后台管理系统系列(5) 实现登录部分,校验登陆用户(转载)

首先修改页面的login.html 添加页面登陆事件 这块js写的: function login() { var formData = new FormData(); formData.append("username",$('input[name="username"]').val()) formData.append("password",$('input[name="password"]').val()) $.ajax({

shuirenbushijun的博客 847
上一篇: 单个对象数据怎么展示到前端页面
下一篇: 阿里云轻量级应用服务怎么完成tomcat+mysql的安装直到运行
课么多巨蜥
博客等级 码龄10年 18粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值