这篇文章主要介绍“Druid自动登录的方法”,在日常操作中,相信很多人在Druid自动登录的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Druid自动登录的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联公司专注于网站建设|企业网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都自上料搅拌车等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身策划品质网站。
首先说明一下,为什么要自动登录
必须要有密码,否则别人直接访问项目地址+"/druid"就可以访问,不安全;
不想有二次登录(不解释);
菜单配置路径 toDruid
;
跳转页面后,ajax触发 doDruid.json
请求;
后台编写Filter,判断路径是 doDruid
后,将地址更改为登录地址;
直接在Druid登录页面,按F12,可以看到相关代码
Form表单:
ajax提交代码:
$.ajax({ type: 'POST', url: "submitLogin", data: $("#loginForm").serialize(), success: function(data) { if("success" == data) location.href = "index.html"; else { $("#alertInfo").show(); $("#loginForm")[0].reset(); $("input[name=loginUsername]").focus(); } }, dataType: "text" });
登录接口为:"/submitLogin" 请求方式为:post 请求数据类型为:text 请求参数为:loginUsername=druid&loginPassword=druid
菜单配置toDruid,跳转本系统某个页面,此页面调用doDruid.json接口。 页面Ajax请求 /doDruid,Filter 获取 /doDruid更改路径为 /submitLogin,并添加参数账号和密码。
过滤器Filter:
HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = ((HttpServletResponse) servletResponse); String requestUrl = request.getRequestURL().toString(); // 针对druid做自动登录 if(requestUrl.contains("moni/druid/doDruid.json")){ String queryString = "loginUsername=druid&loginPassword=druid"; // 获取完整路径 StringBuffer url = new StringBuffer(requestUrl); // 获取路径加上项目名称 String tempContextUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).append(request.getServletContext().getContextPath()).append("/").toString(); /** 构造新地址,其实就是druid的登录地址 */ URL newUrl = new URL(tempContextUrl + "druid/submitLogin?" + queryString); response.setStatus(307); response.setHeader("Location", newUrl.toString()); response.setHeader("Connection", "close"); //允许所有跨域请求 response.addHeader("Access-Control-Allow-Origin", "*"); }
前端页面:
$(function(){ autoLogin(); }) /** 自动登录 @author gaoyuan */ function autoLogin(){ var loadingLayer = layer.load(1, {shade: [0.1,'#fff']});//loading $.ajax({ type: 'get', url: '${ctx}/moni/druid/doDruid.json?timeStamp='+new Date().getTime(), dataType: "text", data: {}, success: function (data) { layer.close(loadingLayer); if(data == "success"){ location.href = "${contextPath}/druid"; }else{ layer.msg('自动登录出错,请手动登录!', {icon: 2}, function(){location.href = "${contextPath}/druid";}); } },error:function(){ layer.close(loadingLayer); } }); }
关于Druid的设置就不过多介绍了,网上到处都有
此时访问 前端页面,触发Ajax,会自动进行登录,登录成功后,会跳转druid页面,大功告成!
到此,关于“Druid自动登录的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款