Nacos1.3.2已经完美的解决了权限问题,通过添加username和password来处理登录用户名和密码,但是存在一个问题,那就是用户名和密码存在特殊字符的时候会出现403,unknown user 问题
username: nacos
password: nacos
NacosAuthManager.java具体代码位置如下:
private String resolveToken(HttpServletRequest request) throws AccessException {
String bearerToken = request.getHeader(NacosAuthConfig.AUTHORIZATION_HEADER);
if (StringUtils.isNotBlank(bearerToken) && bearerToken.startsWith(TOKEN_PREFIX)) {
return bearerToken.substring(7);
}
bearerToken = request.getParameter(Constants.ACCESS_TOKEN);
if (StringUtils.isBlank(bearerToken)) {
String userName = request.getParameter("username");
String password = request.getParameter("password");
bearerToken = resolveTokenFromUser(userName, password);
}
return bearerToken;
}
当出现特殊字符的时候,request.getParameter存在转义问题,所以大家注意即可