java web实现锁屏操作_javaWeb锁屏的简单实现

简单介绍:需求上有个小功能,用户登录后点击用户名,可以点击锁屏,锁屏解除,需要输入正确的密码才能进入管理后台页面enheng(*/ω\*)(*/ω\*)(*/ω\*)

思路简介:其实刚看到要做锁屏,第一反应就是没做过啊,懵逼,后来中午和同事去吃饭的时候,我啪的一下,就把笔记本合上了,loading·············,吃完饭,回来,打开本子,输入完密码,就准备去点击登录那个箭头,突然反应过来,卧槽,这不就是锁屏么,给他个锁屏界面不就行了么,不过还要有几个表单,能够实现登录,不就相当于解锁了么!!!haヾ(◍°∇°◍)ノ゙༺༺超༒神༻༻

0f5a65ab673835f2b951dda02d4ee138.png

//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;

}

总结:刚拿到锁屏,瞬间懵逼,不过总得去做不是么,ヾ(◍°∇°◍)ノ゙

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值