什么是大型门户网站苏州注册公司流程和步骤
目录
- 服务端这么做
 - 服务端告知客户端使用 Basic Authentication 方式进行认证
 - 服务端接收并处理客户端按照 Basic Authentication 方式发送的数据
 
- 客户端这么做
 - 如果客户端是浏览器
 - 如果客户端是 RestTemplat
 - 如果客户端是 HttpClient
 
- 其它
 - 参考
 
服务端这么做
- 服务端告知客户端使用 Basic Authentication 方式进行认证
 - 服务端接收并处理客户端按照 Basic Authentication 方式发送的数据
 
服务端告知客户端使用 Basic Authentication 方式进行认证
- 服务端返回 401(Unauthozied)状态码给客户端
 - 服务端在Response 的 header “WWW-Authenticate” 中添加信息
 

服务端接收并处理客户端按照 Basic Authentication 方式发送的数据
private boolean checkBasicAuthorization(HttpServletRequest request) {String rawStringAuthorization = request.getHeader("Authorization");Assert.isTrue(StringUtils.startsWith(rawStringAuthorization, "Basic"), "Basic 认证失败");String base64StringAuthorization = StringUtils.replaceOnce(rawStringAuthorization, "Basic", "");base64StringAuthorization = StringUtils.trim(base64StringAuthorization);byte[] bytesAuthorization = Base64Utils.decodeFromString(base64StringAuthorization);String stringAuthorization = new String(bytesAuthorization);String[] arrUserAndPass = StringUtils.split(stringAuthorization, ":");Assert.isTrue(2==arrUserAndPass.length, "Basic 认证失败");String username = arrUserAndPass[0];String password = arrUserAndPass[1];if (StringUtils.equals(username, "myuser") && StringUtils.equals(password, "mypassword")) {return true;}return false;
}
 
- org.apache.commons.lang3.StringUtils
 - org.springframework.util.Base64Utils
 
客户端这么做
客户端按照 Basic Authentication 方式向服务端发送数据
如果客户端是浏览器
浏览器支持 Basic Authentication 方式认证。浏览器会自动弹出提示窗体,并自动向该地址发送认证请求。
浏览器自动弹出的对话框:
 
 点击“登录”后,浏览器自动向该地址发送请求:
 
- 输入用户名:
myuser,密码:mypassword “bXl1c2VyOm15cGFzc3dvcmQ=”=base64("myuser:mypassword")
如果客户端是 RestTemplat
@Configuration
public class RestTemplateConfig {@Beanpublic RestTemplate restTemplate() {RestTemplate restTemplate = new RestTemplate();restTemplate.getInterceptors().add(new BasicAuthenticationInterceptor("myuser","mypassword")); 
;return restTemplate;}
}
 
如果客户端是 HttpClient
略
其它
Basic Authentication 方式的认证,通常不需要登录页面,只需要登录Action即可。
 
参考
https://developer.atlassian.com/server/jira/platform/basic-authentication/
