色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

shiro vue整合

Shiro是一個(gè)功能強(qiáng)大的Java安全框架,能夠提供身份驗(yàn)證、授權(quán)、加密等功能。Vue是一個(gè)流行的JavaScript前端框架。將Shiro和Vue整合在一起可以實(shí)現(xiàn)更加安全的前后端交互。

在Shiro中使用Vue需要在Shiro的配置文件中添加一個(gè)過(guò)濾器鏈,該過(guò)濾器鏈會(huì)攔截Vue發(fā)出的請(qǐng)求并對(duì)請(qǐng)求進(jìn)行認(rèn)證和授權(quán)。以下是添加過(guò)濾器鏈的示例:

[urls]
/api/** = jwt

上述配置表明只有當(dāng)請(qǐng)求的URL以“/api/”開(kāi)頭時(shí)才會(huì)被jwt過(guò)濾器攔截。接下來(lái)需要在Vue中對(duì)JWT進(jìn)行編碼并在每個(gè)請(qǐng)求中攜帶JWT。

axios.interceptors.request.use(config =>{
config.headers.Authorization = `Bearer ${localStorage.getItem('jwt')}`;
return config;
});

上述代碼片段添加了一個(gè)請(qǐng)求攔截器,每次請(qǐng)求都會(huì)攜帶一個(gè)JWT。

在后臺(tái)Java代碼中需要對(duì)JWT進(jìn)行解碼并對(duì)請(qǐng)求進(jìn)行驗(yàn)證和授權(quán)。

public class JwtFilter extends AuthenticatingFilter {
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
// 獲取請(qǐng)求中的JWT
JWTToken token = new JWTToken(getAuthzHeader(request));
try {
// 嘗試登錄
getSubject(request, response).login(token);
return true;
} catch (AuthenticationException e) {
// 登錄失敗,返回401錯(cuò)誤
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
}
}

上述代碼片段是一個(gè)自定義的JWT過(guò)濾器,對(duì)發(fā)出的請(qǐng)求進(jìn)行認(rèn)證和授權(quán)。如果認(rèn)證或授權(quán)失敗,會(huì)返回401錯(cuò)誤。

以上是使用Shiro和Vue進(jìn)行整合的基礎(chǔ),可以根據(jù)實(shí)際需求進(jìn)行進(jìn)一步的定制和優(yōu)化。