单点登录

summer112112 2020-07-09 12:03:55
在一个系统上 登录别的系统, 这里的三种情况 账号密码写死,用的时候适当更改

1.form表单提交

openPostWindow() {

var newWin = window.open(),
formStr = '';
//设置样式为隐藏,打开新标签再跳转页面前,如果有可现实的表单选项,用户会看到表单内容数据
formStr = '<form style="visibility:hidden;" method="POST" action="访问地址?拼接下参数">' +
'<input type="hidden" name="username" value="账号" />' +'<input type="hidden" name="password"
value="[color=#FF0000]密码[/color]" />'+
'</form>';

newWin.document.body.innerHTML = formStr;
newWin.document.forms[0].submit();
return newWin;
},

2.域名相同
axios({
headers: {
'deviceCode': 'A95ZEF1-47B5-AC90BF3',
'Content-Type': 'application/x-www-form-urlencoded'
},
method: 'post',
transformRequest: [function (data) {
// 对 data 进行任意转换处理
return Qs.stringify(data)
}],
url: '地址',
data: {
user_name: '账户',
pass_word:密码md5加密,
}
}).then(res=>{
sessionStorage.setItem('token', res.data.data.token) // 把请求得到的 token 用户信息存起来
localStorage.setItem("userName", res.data.data.user.user_true_name);
window.open("登陆成功后跳转的网址")
})
},
3.跨域登录
跨域登录 先把他转换成同域 然后再进行缓存,写一个单独的html 挂载到域名相同的服务器,当前系统windo.open(挂载的地址)在呢个html里 进行请求(html用的是axios请求) 我的这个需要请求完账号密码后 还要发送一个请求储存token, 用的时候后适量借鉴
<script src="js/axios.js"></script>
<script src="js/md5.js"></script>
<script src="js/qs.js"></script>
<script src="js/vue.js"></script>
<script>

var app=new Vue({
el:"#app",                         
data() {
return {

}

},
methods:{
openAxiosWindow(){
axios.post('发送账号密码的地址',{
user_name: '账号',
pass_word:hex_md5("密码")
}).then(res=>{
console.log(res)
localStorage.setItem("ms_username", res.data.user_true_name);
this.getinfo()

})

},
getinfo(){
axios.post('请求地址').then(res=>{
console.log('全部结果')
console.log(res)
console.log('res.data.user.user_name')
console.log(res.data.user.user_name)
localStorage.setItem("loginName",res.data.user.user_name);
localStorage.setItem("loginPass",'admin');
window.location.href = '登录成功后跳转地址';
})
}


},
mounted() {
},
created(){
this.openAxiosWindow()
}
});
</script>
...全文
1359 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2020-07-10
  • 打赏
  • 举报
回复

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧