以前就挺好奇路由器认证时的弹窗是怎么做的。今天看了HTTP权威指南的HTTP基本认证基本上了解了。这里放一个JSP的示例,更多资料可以看HTTP权威指南的基本认证机制章节,或者参考后面的文章。
boolean auth = false;
String pswd = request.getHeader(HttpHeaders.AUTHORIZATION);
if(pswd != null && pswd.length() > 6) {
pswd = pswd.substring(6);
pswd = new String(Base64.decodeBase64(pswd));
if(pswd.equals("root:root")) {
auth = true;
}
}
if(!auth) {
response.setStatus(HttpStatus.SC_UNAUTHORIZED);
response.setHeader(HttpHeaders.WWW_AUTHENTICATE, "Basic Realm=\"acgist\"");
}
%>
授权测试