您的位置:首页 > 其它

CAS不使用CAS服务器登录界面(适用于前后台完全分离的项目)

2017-09-30 10:10 1161 查看
本文主要介绍如何使用各CAS-Client的登录界面,而不统一使用CAS服务器的登录界面。

原理:很简单,两次请求,第一次请求CAS服务器,拿到登录界面,通过JS解析execution,然后往Cas服务器发送登录信息即可。CAS-Server使用4.2.7.

CAS不使用CAS服务器登录界面只需要在各自的客户端通过js解析登录票据就好
下面上代码
function login() {
mui.ajax({
url: 'https://localhost:8443/cas/login',
type: 'GET',
data: {
Name: "keyun"
},
dataType: 'html',
timeout: 1000,
async: false,
error: function() {
alert('Error');
},
success: function(result) {
//如果用户本来就是登录着的,可以选择让用户直接跳转,还有个更妥当方法是注销用户,然后再掉login重新获取
if(result.indexOf("登录成功") != -1) {
// window.location.href="http://192,168.2.118/test";
mui.toast('登录成功');
plus.storage.setItem("havelogin", "true");
plus.storage.setItem("userinfo", JSON.stringify("text"));
//tourl('../../areas/Tab/Bar/Bar.html', 'Bar');
mui.openWindow('../../areas/Tab/Bar/Bar.html', 'Bar');
//logout();
return;
}

/* var ltsl=result.indexOf("\"LT"); //截取LT位置
var lt=result.substring(ltsl+1);

ltlt=lt.substring(0,lt.indexOf("\""));  */

var evsl = result.indexOf("execution"); //截取execution位置

var ev = result.substring(evsl + 1 + 18);
//alert(ev.indexOf("\""));
evev = ev.substring(1, ev.indexOf("\""));
alert(evev);

post(evev);
}
});
}

function logout() {
mui.ajax({
url: 'https://localhost:8443/cas/logout',
type: 'GET',
dataType: 'html',
timeout: 1000,
async: false,
error: function() {},
success: function(result) {
login();
}
});
}

//提交请求
function post(ev) {

mui.ajax({
url: 'https://localhost:8443/cas/login',
type: 'POST',
async: false,
data: {
"execution": ev,
"password": "cj",
"submit": "LOGIN",
"username": "cj",
"_eventId": "submit"
},
//dataType: 'json',
timeout: 1000,
error: function(r) {
//debugger;
alert('Error');
},
success: function(result) {

//如果登陆成功,则跳转,否则提示错误
if(result.indexOf("登录成功") != -1) {
//alert('ok   lt:'+lt);
mui.toast('登录成功');
/*mui.openWindow("https://localhost:8443/cas/login");*/

plus.storage.setItem("havelogin", "true");
plus.storage.setItem("userinfo", JSON.stringify("text"));
//tourl('../../areas/Tab/Bar/Bar.html', 'Bar');
mui.openWindow('../../areas/Tab/Bar/Bar.html', 'Bar');
}
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐