基于安全考虑,公司所有系统都要求接入cas。
在main.js文件中,增加如下代码:
第一段代码主要是为了获取cas返回的用户名,每个公司可能都不一样。
第二段代码主要是路由跳转,如果已经登陆获取到token,跳转到下一页,没有token,清一下缓存,然后跳转到cas登录页面。
function GetRequest() {
let url = location.search
//获取url中"?"符后的字串
let theRequest = new Object()
if (url.indexOf('?') != -1) {
let str = url.substr(1)
let strs = str.split('&')
for (let i = 0; i < strs.length; i++) {
theRequest[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1])
}
}
return theRequest
}
const login_url = 'http://your.cas.url'
const host = escape(window.location.host)
//使用钩子函数对路由进行权限跳转
router.beforeEach((to, from, next) => {
let token = Cookies.get('cas_jwt_token')
if (typeof (token) == 'undefined') {
let inf