java锁屏_javaWeb锁屏的简单实现
简单介绍:需求上有个小功能,用户登录后点击用户名,可以点击锁屏,锁屏解除,需要输入正确的密码才能进入管理后台页面enheng(*/ω\*)(*/ω\*)(*/ω\*)
思路简介:其实刚看到要做锁屏,第一反应就是没做过啊,懵逼,后来中午和同事去吃饭的时候,我啪的一下,就把笔记本合上了,loading·············,吃完饭,回来,打开本子,输入完密码,就准备去点击登录那个箭头,突然反应过来,卧槽,这不就是锁屏么,给他个锁屏界面不就行了么,不过还要有几个表单,能够实现登录,不就相当于解锁了么!!!haヾ(◍°∇°◍)ノ゙༺༺超༒神༻༻
//html代码 点击锁屏进入controller的lock方法
锁屏
//controller代码
/**
* 跳转锁屏页面
*/
@RequestMapping(value = "/main/lock")
public String lock(Model model) throws Exception {
Session session = Jurisdiction.getSession();
OhSysPriUser user = (OhSysPriUser)session.getAttribute(SessionConst.SESSION_USER);
String name = user.getLoginName();
model.addAttribute("username", name);
logger.info("进入锁屏");
return "/lock";//进入锁屏页面
}
//html锁屏页面登录
锁屏登录
placeholder="Username" name="username"th:value="${username}" readonly="readonly"/>
class="keypad" keypadMode="full" allowKeyboard="true" value=""/>
登录
前往登录页面
/**
* js代码 锁屏登录
*/
function locklogin() {
if ($("#password").val() == "") {
$("#password").tips({
side: 2,
msg: '密码不得为空',
bg: '#AE81FF',
time: 3
});
$("#password").focus;
}else{
$.ajax({
type: "POST",
url: 'locklogin',
data: {
username : $("#inputbtn").val(),
password : $("#password").val()
},
dataType: 'json',
cache: false,
success : function (data) {
if(data=="success"){
window.location.href="index";//成功回到主页
}else{
$("#password").tips({
side: 2,
msg: data,
bg: '#ff4a54',
time: 3
});
$("#password").val("");
$("#password").focus;
}
}
});
}
}
/**
* Controller代码 锁屏登陆
*
* @param username
* @param password
* @param request
* @param model
* @return
* */
@ResponseBody
@RequestMapping(value = "/main/locklogin", method = RequestMethod.POST, produces = "text/html; charset=utf-8")
public String locklogin(String username, String password, HttpServletRequest request, Model model) {
String error = "";
try {
model.addAttribute("username", username);
if (!request.getMethod().equals("POST")) {
model.addAttribute("errors","支持POST方法提交!");
}
if (Tools.isEmpty(username) || Tools.isEmpty(password)) {
error = "密码不能为空!";
}
// 想要得到 SecurityUtils.getSubject() 的对象..访问地址必须跟 shiro 的拦截地址内.不然后会报空指针
Subject user = SecurityUtils.getSubject();
// 用户输入的账号和密码,,存到UsernamePasswordToken对象中..然后由shiro内部认证对比,
// 认证执行者交由ShiroDbRealm中doGetAuthenticationInfo处理
// 当以上认证成功后会向下执行,认证失败会抛出异常
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try {
user.login(token);
error = "success";
logger.info("解锁成功");
}catch (AuthenticationException e) {
token.clear();
request.setAttribute("error", "密码不正确!");
error = "密码不正确!";
}
} catch (Exception e) {
e.printStackTrace();
error = "登录异常,请联系管理员!";
logger.info("登录异常,请联系管理员!");
// 注销登录
logger.info(">>>>>>>>>> Logout");
SecurityUtils.getSubject().logout();
}
return error;
}
总结:刚拿到锁屏,瞬间懵逼,不过总得去做不是么,ヾ(◍°∇°◍)ノ゙
java锁屏_javaWeb锁屏的简单实现相关推荐
- java web实现锁屏操作_javaWeb锁屏的简单实现
简单介绍:需求上有个小功能,用户登录后点击用户名,可以点击锁屏,锁屏解除,需要输入正确的密码才能进入管理后台页面enheng(*/ω\*)(*/ω\*)(*/ω\*) 思路简介:其实刚看到要做锁屏,第 ...
- mtk android关掉锁屏,MTK 锁屏配置
常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想 ...
- linux如何解除密码锁屏图案大全,手机锁屏图案(锁屏密码)忘记了怎么办?四种方法帮你轻松搞定...
很多朋友可能为了追求新奇,对手机的各种功能都比较好奇,都想试一试.对于图案解锁这个功能也可能比较喜欢,但会不会就是刚刚设置完了就忘记了呢?那么手机锁屏图案(锁屏密码)忘记了怎么办?本文将为大家介绍四种 ...
- android 禁止屏幕黑屏,Android 禁止锁屏或黑屏
场景: 通常情况我们使用的 app 都不需要用到这个功能.但一些平板的开发就很常见了,我们不希望用户不操作亦或离开平板一段时间后,平板为了省电而自动黑屏或锁屏,那么我们应该怎么做到防止应用再使用过程中 ...
- Debian9 stretch xfce4桌面开启超时熄屏并锁屏不生效问题分析解决
系统:Linux Debian 9 内核:kernel 4.4.194 平台:rockchip 问题:因为需求需要桌面系统使用密码登陆,并且登陆后长时间不操作进行熄屏并且锁屏动作 这里先简单提下密码登 ...
- ajax 加载 提示 锁屏,js锁屏解屏通过对$.ajax进行封装实现
jquery插件源码: /** * 对jquery中$.ajax进行封装,以便加入锁屏功能 * isAsync 是否为异步请求,默认为true * isLock 是否锁屏,默认是true * isCa ...
- oracle密码锁屏时间,Oracle Linux OEL7 如何关闭屏保和锁屏功能
Oracle Linux OEL7 如何关闭屏保和锁屏功能 为每一个单独用户设置屏保和锁屏时间: $ gsettings set org.gnome.desktop.session idle-dela ...
- Ipad恢复按键音、锁定音和截屏音
最近突然发现Ipad没有了按键音.锁定音和截屏音,甚至在使用有道词典之类APP的时候也没有声音,经过仔细研究终于解决了这个问题,记录一下: 打开设置--通用 改变"侧边开关用于:" ...
- Android 小知识记录-----息屏后亮屏并显示Activity在锁屏页面之上
息屏后亮屏并显示Activity在锁屏页面之上 1. 加权限 <uses-permission android:name="android.permission.WAKE_LOCK&q ...
最新文章
- cassandra集群环境搭建——注意seeds节点,DHT p2p集群管理难道初始化都应如此吗?...
- eval在类型转换的妙用
- Hologres如何支持超高基数UV计算(基于roaringbitmap实现)
- 数据库性能分析mysql_mysql数据库的性能优化分析
- delphi7 mysql控件_Delphi7连接MySql数据库-DBGrid控件显示数据
- 2019级C语言大作业 - BrickMansions
- 浏览器兼容性问题——IE不支持却很实用的CSS属性Outline和Child
- 力扣题目——160. 相交链表
- 【Django 2021年最新版教程20】python for循环遍历queryset
- 汽车总线协议15765-2(2005)CANFD协议研究
- word-wrap和word-break,white-space的区别
- OpenSSL文档阅读笔记-RSA Encryption Decryption Example with OpenSSL in C
- 人脸对齐之SDM论文解析
- 我在B站读大学,大数据专业
- WPS中突然有一行文字间距特别大的解决办法
- 无内鬼,爬B站视频来一波
- SHOI 2002 百事世界杯之旅 题解
- Linux下vscode无法查看定义?
- 修饰符*和&应该靠近数据类型还是该靠近变量名
- Windows 7 与 Linux 的双系统安装
热门文章
- SEO人员,建立外链的注意事项有哪些?
- 【PS功能学习】08:神奇的布尔运算
- Real-world Anomaly Detection in Surveillance Videos监控视频中的现实世界异常检测
- html简单网页编写3
- 文思创新本月登陆纽交所 中国软件外包资本破局(转)
- matplotlib 进阶之origin and extent in imshow
- 南邮非全日制计算机专业怎么样,2019年南京邮电大学在职研究生哪个证书的含金量比较低...
- cad尺寸标注快捷键_CAD建筑图纸还能这么画?
- V2G背景201707051926
- 数学与计算机教学设计,信息技术与小学数学整合的教案