案例效果
不需要登录就要能访问到某一个功能
实现思路
在相应的功能上增加一个按钮,如分享按钮
写按钮事件,调运后台方法,生成对应链接
要生成的链接,首先要写一个后台controller与service,生成一个唯一key;
利用返回的唯一key,做rbac的登录过滤,此时需要一个前端loginforword,html;
将写的界面路径加到security-url.xml进行过滤;
操作步骤
- 在相应的功能上增加一个按钮,如分享按钮
- 写按钮事件,调运后台方法,生成对应链接
- 要生成的链接,首先要写一个后台controller与service,生成一个唯一key;
注意:此处的代码中usercode是定义好的用户编码,这个用户编码存在与员工管理,有不同角色和权限,当然可以根据不同需求用当前登录用户
- 利用返回的唯一key,做rbac的登录过滤,此时需要一个前端loginforword.html;
- 将写的界面路径加到security-url.xml进行过滤;
- 最终结果
注意:以上方式适用于7.1版本
7.2最新版本loginforword.html中的拼接方式有所不同,改成以下版本就可以使用
相关代码
1:分享按钮事件
function(btn,event,eOpts){
var jegridview=btn.up("jegridview");
var funcInfo=jegridview.funcData.info;
var funcCode=funcInfo.funcCode;
var resObj=JE.ajax({url:"/je/project/product/jepm/cust/getLoginKey",params:{editUser:"0",showView:"grid",pkValue:"",funcCode:funcCode}});
if(resObj.success){
JE.alert("链接已经生成,链接为:<br/>"+"http://IP地址/loginforword.html?jekey="+resObj.obj); }else{ JE.alert('分享失败!');
}
}
2:loginforword.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>单点登录</title>
<script src="/static/ux/jquery/jquery-1.9.1.min.js"></script>
<script src="/static/ux/jquery/jquery.cookie.min.js"></script>
</head>
<body>
<script>
//获取url中的参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]);
return null; //返回参数值
}
$(function () {
var jekey=getUrlParam("jekey");
$.ajax({
type:"POST",
url: "/rbac/login/login",
data: {loginType:"JEKEY",code:jekey},
success: function (data) {
//将获取的参数进行转换
if(data.code=='OK'){
if(data.message){
var infos=JSON.parse(data.message);
var funcCode=infos.funcCode;
var showView=infos.showView;
var modelID=infos.modelID;
$.cookie('authorization',data.obj);
var url="/index.html?funcCode="+funcCode+"&showView="+showView+"&modelID="+modelID;
if(showView=='grid'){
url="/index.html?funcCode="+funcCode+"&showView="+showView+"&whereSql="+modelID;
}
window.location.href=url;
}
}
}
})
});
</script>
</body>
</html>
关键字,相关问题
- 跟案例相关的名词,或者包含的名词,用于检索使用
- 跟案例相关的提问方式,用于检索使用
最后编辑: 呼丽华 文档更新时间: 2024-08-21 10:58 作者:肖海杰