您现在的位置是:首页 > java技术交流java技术交流
springboot shiro实现登录跳转原先页面
上善若水2021-01-25 14:12:46【java技术交流】 5468人已围观
简介在项目的会遇到请求后台页面会出现未登录跳转到登录页面,登录完成后再跳转回登录页面,又于项目登录是采用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)
相关文章
随机图文
-
总结了197条简短的抖音撩妹套路
你是长不大的张志明,我是没有安全感的余春娇。 志明找到了他的春娇,我找到了我的****(**表示对方的名字)。 小姐姐,我问你一个问题,冬天了,你喜欢喝啥?喝奶茶。你知道我喜欢喝啥吗?我喜欢呵护你。 对不起啊,没有经过你的允许就.......就喜欢上了你 -
PHP8.1新特性 Never 返回类型 返回类型应用场景
PHP8.1新特性 Never 返回类型 返回类型应用场景,有时候一个控制器里我们会使用die(),再函数中就能使用Never类型作为其返回值类型。 function redirect(string -
切换php版本执行命令行 不更改环境变量切换php版本执行命令
由于不同的php版本互相不兼容,频繁更换环境变量的path变量过于麻烦,不更改环境变量切换php版本执行命令,直接在php nts 目录下执行php命令方法.当前我有个为php5.3环境的项目与一个p -
一些关于音乐的冷笑话,练音乐累了就进来乐一乐
1、“儿子,今天的第一堂倍大提琴课学了啥?”“学会了拉A音”“儿子,今天的第二堂课又学了啥?”“学会了拉D音”“儿子,今天的第三堂课学了啥?”“今天没上课,老师带我们演出去了”2、中提琴和洋葱有什么区别?切中提琴不会流眼泪3、中提琴和蹦床有什么区别?在蹦床上面跳一般都是脱了鞋的4、为什么中提琴比小提琴大?你看错了,其实只是因为小提琴手的头