正常情况下,浏览器禁止跨域获取cookie
一般通过sso服务可以实现取得跨域cookie,思路如下:
域A页面访问位于域A的服务器,对权限进行验证
域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)
域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分
页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie
1 最近得到一个新需求,需要在后台管理页面加上用户权限控制,通过后台放在cookie里面的token进行判断;
2 获取cookie里面的token:
21 我们在用vuejs里面的indexhtml写一个全局的函数:
3 这样我们通过传入cookie的key名就可以获取到后面的token了,如:
Cookie *** 作是我们在Web开发中经常会用到的功能,以往我们一般是通过javascript实现的。下面这款jquery插件是专门用来进行cookie *** 作 的,包括cookie的添加、清除、读取…… 你可以在这款插件的主页下载到它:>
<SCRIPT language="JavaScript">
<!--
//首先获取name就是标记
function getcookie(Name) {
var search = Name + "="
var returnvalue = "";
if (documentcookielength > 0) {
offset = documentcookieindexOf(search)
if (offset != -1) {
offset += searchlength
end = documentcookieindexOf(";", offset);
if (end == -1)
end = documentcookielength;
returnvalue=unescape(documentcookiesubstring(offset, end))
}
}
return returnvalue;
}
function okla(){
if (getcookie('biaoji')==''){
documentwrite("呵呵1");
documentcookie="biaoji=1"
}else if (getcookie('biaoji')=='1'){
documentwrite("呵呵2");
documentcookie="biaoji=2"
} else if (getcookie('biaoji')=='2'){
documentwrite("呵呵3")
}
}
okla()
//-->
</SCRIPT>
直接粘贴到html里运行,显示呵呵1,再刷新显示呵呵2再刷新显示呵呵3,不知道是不是你想要的这个效果。
使用js检测Cookie的话,可以让js执行定时任务,定期检测,我给你写段代码
方法一://使用jquery的cookie方法,之前必须引入jquerycookiejs文件,在网上可以下载到//每隔1秒,执行cookie检测函数
setTimeout("checkCookie()",1000);
//检测cookie函数,如果cookie为空则跳转到登陆页
function checkCookie() {
if($cookie("qqlogin") == "" || $cookie("qqlogin") == null) {
windowlocationhref = "loginhtml";
}
}
方法二:使用js获取cookie
//定义一个函数,用来读取特定的cookie值
function getCookie(cookie_name) {
var allcookies = documentcookie;
var cookie_pos = allcookiesindexOf(cookie_name); //要获取COOKIE的索引长度
//如果找到了索引,就代表cookie存在,
//反之,就说明不存在。
if (cookie_pos == '') {
windowlocationhref = "loginhtml";
}
}
// 调用函数
//每隔1秒,执行cookie检测函数
setTimeout("getCookie('getCookie')",1000);
注:方法二未经测试。
以上就是关于js中cookie可以跨域取值吗全部的内容,包括:js中cookie可以跨域取值吗、js获取cookie里面的token、js或者jQuery如何获取cookie的有效时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)