您现在的位置是:首页 > java技术交流java技术交流
springboot shiro实现登录跳转原先页面
上善若水2021-01-25 14:12:46【java技术交流】 4372人已围观
简介在项目的会遇到请求后台页面会出现未登录跳转到登录页面,登录完成后再跳转回登录页面,又于项目登录是采用ajax编写的,只需在登录成功后将需要跳转的页面返回就可以.后台登录控制器 @PostMapping
在项目的会遇到请求后台页面会出现未登录跳转到登录页面,登录完成后再跳转回登录页面,又于项目登录是采用ajax编写的,只需在登录成功后将需要跳转的页面返回就可以.
后台登录控制器
@PostMapping(value = {"/admin/login"})
@ResponseBody
public LayResponse login(@RequestParam Map<String, String> param, HttpServletRequest req) {
//用户认证信息
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(param.get("username"), param.get("password"));
LayResponse response = new LayResponse();
response.success("登录成功");
try {
//进行验证,这里可以捕获异常,然后返回对应信息
subject.login(usernamePasswordToken);
SavedRequest savedRequest= WebUtils.getSavedRequest(req);//将需要调整的页面传回前段,前段进行跳转
response.data(savedRequest);
} catch (UnknownAccountException e) {
response.error("用户名不存在!");
} catch (AuthenticationException e) {
response.error("账号或密码错误!");
} catch (AuthorizationException e) {
response.error("没有权限");
} catch (Exception e) {
response.error("其他错误");
}
return response;
}
前台layui登录
//监听提交
form.on('submit(login)', function (data) {
$.post("/admin/login", data.field, function (res) {
if (res.code == 0) {
if(res.data!=null){
if(res.data.method=='GET'){
location.href =res.data.requestUrl;
return false;
}
}
location.href = '/admin/index/index'
} else {
layer.msg(res.msg, {icon: 5});
}
});
return false;
});
登录成功返回的json
Tags: shiro
很赞哦! (12)
相关文章
随机图文
-
yii框架中yiisoft/yii2-redis redis操作之list
1.lpushhttps://redis.io/commands/lpush将所有指定的值插入存储在的列表的头部key。如果key不存在,则在执行推送操作之前将其创建为空列表。当key保存的值不 -
'com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor' is deprecated idea提示被弃用
‘com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor’isdeprecatedidea提示被弃用,今天升级了myba -
js中使用 encodeURI "#"井号出错 #号后参数被截取
js中使用 encodeURI将请求参数转码试,,#井号出错,#后的字符串不能正常进行转码,后台无法正确处理参数 解决方法:将encodeURI 替换成encodeURIComponent函数即可. -
thinkphp使用querylist采集笑话网站笔记
thinkphp使用querylist采集笑话网站笔记,使用thinkphp commands命令写法采集小说数据,不多说直接上代码. 1.创建数据采集记录表CREATE TABLE `joke_li