SpringBoot登录判断
<!-- html登录代码 -->
<div class="box">
<div class="title">登录</div>
<div class="input">
<label for="name">用户名</label>
<input type="text" name="name" id="name">
<span class="spin"></span>
</div>
<div class="input">
<label for="pass">密码</label>
<input type="password" name="pass" id="pass">
<span class="spin"></span>
</div>
<div class="button login">
<button>
<span>登录</span>
<i class="fa fa-check"></i>
</button>
</div>
<a href="javascript:" class="pass-forgot">忘记密码?</a>
</div>
<!-- javasript 登录代码 -->
$(".button").click(function(e) {
$("button", this).addClass('active');
if ($(".button").hasClass("login")){
$.ajax({
url:"/cch/dologin",
type:"POST",
data:{
name:$("#name").serialize(),
pass:$("#pass").serialize(),
},
success:function (result) {
if(result.code==100){
window.location.href="/cch/main";
}else {
alert(result.extendInfo.login_error);
}
}
})
}
})
//JsonMsg工具类
public class JsonMsg {
private int code;
private String msg;
private Map<String,Object> extendInfo = new HashMap<String, Object>(); public int getCode() {
return code;
} public void setCode(int code) {
this.code = code;
} public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} public Map<String, Object> getExtendInfo() {
return extendInfo;
} public void setExtendInfo(Map<String, Object> extendInfo) {
this.extendInfo = extendInfo;
} public static JsonMsg success(){
JsonMsg res = new JsonMsg();
res.setCode(100);
res.setMsg("操作成功");
return res;
} public static JsonMsg fail(){
JsonMsg res = new JsonMsg();
res.setCode(200);
res.setMsg("操作失败");
return res;
} public JsonMsg addInfo(String key,Object object){
this.extendInfo.put(key,object);
return this;
}
}
/**
* controller
* 判断用户名和密码是否正确
*/
@RequestMapping(value = "/cch/dologin",method = RequestMethod.POST)
@ResponseBody
public JsonMsg dologin(HttpServletRequest request){
String username = request.getParameter("name");
String password = request.getParameter("pass");
System.out.println(username+" "+password);
if (!"name=admin".equals(username) || !"pass=123".equals(password)){
return JsonMsg.fail().addInfo("login_error","用户名或密码错误");
}
request.getSession().setAttribute("islogin","true");//如果正确,则在seesion里添加判断属性,可供拦截器判断是否登录过
return JsonMsg.success();
}
//自定义拦截器
//如果未登录则跳回登录页
public class SysInterceptor extends HandlerInterceptorAdapter {
/**
* 进入拦截器后首先进入的方法
* 返回false则不再继续执行
* 返回true则继续执行
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("我是拦截器:我进来了");
HttpSession session = request.getSession();
String islogin = (String)session.getAttribute("islogin");
if(islogin==null){
System.out.println("用户没有登录");
response.sendRedirect("/cch/login");
return false;
}
System.out.println("用户已登录");
return true;
} @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { }
}
//把拦截器添加到springboot中 @Configuration
public class SessionConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//拦截有 "/cch" 前缀的路径,除了 "/cch/login","/cch/dologin"
registry.addInterceptor(new SysInterceptor()).excludePathPatterns("/cch/login","/cch/dologin").addPathPatterns("/cch/**");
}
}
SpringBoot登录判断的更多相关文章
- 【转】【可用】Android 登录判断器,登录成功后帮你准确跳转到目标activity
我们在使用应用时肯定遇到过这样的情景,打开应用,并不是需要我们登录,你可以浏览应用中的大部分页面,但是当你想看某个详情页的时候,点击后突然跳转到了登录页面,好,我们输入账号密码,点击登录,登录成功,跳 ...
- 第二百六十九节,Tornado框架-Session登录判断
Tornado框架-Session登录判断 Session需要结合cookie来实现 Session的理解 1.用户登录系统时,服务器端获取系统当前时间,进行nd5加密,得到加密后的密串 2.将密串作 ...
- 实现SpringBoot登录
SpringBoot登录 https://www.cnblogs.com/jiekzou/p/9303871.html 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如 ...
- SpringBoot登录登出切面开发
阅读本文约“2.5分钟” 本文开发环境是SpringBoot2.X版本. 对于系统而言(这里多指管理系统或部分具备登录登出功能的系统),登录登出是一个类权限验证的过程,现在一般是以token进行校验, ...
- yiii 框架登录 判断是否是游客模式及未登录状态
原地址:http://blog.csdn.net/a553181867/article/details/50987388 最近在利用Yii 2.0框架进行项目后台的编写,遇到的第一个问题是用户登陆,包 ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- Loadrunner登录判断
loadrunner判断登录是否成功,以下方法可以解决:1.利用添加检查点web_reg_find函数的方法---------------------------- lr_start_transact ...
- spring MVC使用Interceptor做用户登录判断
在任何一个项目中,我们必须要用到的就是用户登录,那么就少不了用户是否登录的判断,如果我们每一个请求都要去做一次判断,那么就会变得很麻烦,但我们复制粘贴的时候我们就要考虑我们的代码写的是不是有问题,是不 ...
- C# MVC登录判断状态
public class AuthenAdminAttribute:FilterAttribute,IAuthorizationFilter { public void OnAuthenticatio ...
随机推荐
- 基于Vue的机器学习平台前端
项目演示地址:http://vidanao.com/ml>注意1:前端兼容性不太好,360浏览器比较兼容; >注意2:此vidanao.com也是我的个人博文主页,但目前还没部署 源码地址 ...
- Vue请求第三方接口跨域最终解决办法!2020最终版!
废话少说,再百度的近三个小时尝试了近10种方法无解后,终于皇天不负有心人! 这个vue axios 跨域问题被我解决了! 需求:请求客户端ip地址获取客户ip,再根据ip获取用户位置 工具:Vue,a ...
- tfgan折腾笔记(三):核心函数详述——gan_loss族
gan_loss族的函数有: 1.gan_loss: 函数原型: def gan_loss( # GANModel. model, # Loss functions. generator_loss_f ...
- Redis面试题集锦(精选)
1.什么是 Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value 类型的内存数据库,很像memcached,整个数据库统统 ...
- java递归树形菜单显示
今天写权限整好涉及到一些菜单的显示,最先想到的是递归遍历输出,但是呢在网上找了很多有关的资料没有符合自己需求的所以就自己写了一个,如果觉得靠谱 请点点关注!!!赞一个 首先看一些设计的数据库设计 菜单 ...
- libra共识算法分析
核心算法说明 基于chained实现,整体上是当前轮推动下一轮共识继续下去, 如此来持续运转下去, 数据有效性证明基于(QC)实现 leader广播proposal消息{round, qc, p ...
- kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署
模板机操作 # cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # uname -a //内核升级到4.4.X以后, 关于如何 ...
- 《前端之路》- TypeScript(二) 函数篇
目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...
- 洛谷P5661 公交换乘(CSP-J 2019 T2)
传送门 题目可能排版有问题,导致出现一些乱码,具体请参考洛谷原题 题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案: 在搭乘一次地铁后可以获得一张优惠 ...
- 在eclipse里面给maven项目打包
eclipse中的“maven install”是用maven打包工程的意思. mvn install 是将用户打包好的jar包安装到本地仓库中,一般没有设置过的话默认在用户目录下的 .m2\下面. ...