这里的安全验证为比较简单的令牌验证。
在客户端登陆时生成token,token的值为用户名+暗文密码+随机8位字符串的Base64编码,在mvc模块中调用webserver的时候在header中增加Authorization,值为“Basic ”+token。
在webserver端获取header的Authorization值,解码Base64,提取用户名,密码。
1、缓存中存在该用户,比较令牌是否一致,不一致则从数据库验证,如果通过表示在不同的地方登陆。一致则验证通过。
2、缓存中不存在该用户,从数据库验证,如果验证通过表示,返回登陆成功。将用户名和令牌存入缓存。
在验证完成后,将相应信息返回mvc模块,如果登陆成功,则将令牌绑定到session。在session销毁的时候,清空令牌,同时调用webserver端清空缓存的令牌。
这里提供一个Apache客户端的get申请方式:
public static String executeHttpGet(String url,String json,String token) throws Exception{
CloseableHttpClient httpclient=HttpClients.createDefault();
HttpGet httpget=new HttpGet(url+json);
httpget.addHeader("Authorization","Basic "+token);
CloseableHttpResponse