web项目的用户验证信息可以存放在session中,访问下个页面的时候会先去session中查找判断。但如果是另一个app应用程序通过httpclient进来的话无法使用session来保存信息 (没有cookie), 这时每次请求都需要验证用户名密码,效率低。
可以新建一个Map的static成员变量, app第一次验证通过后将用户名密码保存在里面,再次进来的话只需要对比下Map中的数据就ok, 不需要再调用LDAP了。
需要对这Map对象加一层包装, 增加超时cleanup的功能, 隔一段时间会清理次。 依靠getItem时触发。 这个估计就是ehcache的原理了。
这里用到了 ConcurrentHashMap,由于是static的变量,会有多线程问题。
ConcurrentHashMap 的原理和Vector不一样, 不是用synchronized来加锁,
而是用segment,锁住一段空间来做。
以下是使用代码
附件中是CoreTimeBasedMap类
private static final int CACHE_DURATION = 1000 * 60 * 60 * 4;
private static CoreTimeBasedMap authenticationCache = new CoreTimeBasedMap(
CACHE_DURATION);
private static boolean authenticateAgainstCache(String dn, String password) {
if (dn == null || password == null) {
return false;
}
if (authenticationCache.get(dn) != null) {
if (authenticationCache.get(dn).equals(password)) {
return true;
}
authenticationCache.remove(dn);
}
return false;
}
分享到:
相关推荐
WPF在客户端保存登录过的用户名和密码,将用户名和密码保存成格式为.dat文件,并经过加密
2、如果不点击保存用户名和密码,后面想以另外的用户名和密码访问此共享文件夹,一般需要重启电脑才可以,运行...运行此工具可以及时删除用户名密码。4、网络上类似工具清除都不太彻底,此工具目前应该是删除最为彻底。
QT登录界面,添加记住密码和用户名功能,是上次的补充,把用户名密码记录在login.ini中,进行下次比较用。
mysql8的安装配置文件 包含端口 缓存 用户名密码的配置
如果启用加密模式传输则每次登录必须提供密码,如果忘记可以从用户目录config.xml文件删除地址下的用户名密码标签。卸载软件只需要删除运行目录和用户目录配置文件下的syncthong目录即可,如果出现其他区异常问题请...
将获得的数据以对象的形式缓存到本地,本例中实现了: 1.将登陆用户名和密码缓存到本地 2.将缓存的用户名和密码取出显示 本例仅供参考
在使用用户名和密码登录功能时,需要填写验证码,验证码是以图形化的方式进行获取和展示的。 验证码使用原理 验证码的使用流程和原理为:在服务器端负责生成图形化验证码,并以数据流的形式供前端访问获取,同时将...
NULL 博文链接:https://931360439-qq-com.iteye.com/blog/962381
android studio实现文件存储和sharedPreference存储,以QQ登陆为例,将登录的用户名和密码保存到后台,有2种方式
清空缓存(登录时候用cookie保存的用户名和密码,注销时候只清空cookie没用,同时要清空缓存)
ecshop内核商城系统,简洁大方,是售卖虚拟产品的最佳选择。非常的大气给力!效果 也很棒,希望朋友们喜欢。某站卖钱的某大型模版出售整站数据打包ECSHOP内核很多商 业资源DEDEDZWP等模板等等。...密码:admin888
提交信息进行校验,查看用户名密码是否为空以及是否符合格式,随后在后台进行校验,合格则进行登录跳转到用户界面; 若登录信息不正确,则提示登录错误信息。 查看成绩: 点击查看成绩,打印成绩列表; 支持到处成绩...
本破解器是针对忘记TortoiseSVN保存的密码的时候使用的,也就是自己忘记了自己输入过的密码。解密原理是读取本机保存密码的缓存,然后逆向还原密码。仅用于自己忘记密码使用,并不能破解服务器的用户名密码。
③输入正确的用户名和密码,认证成功后,浏览器会将凭据信息缓存起来,那么以后再进入时,无需重复手动输入用户名和密码。 2、剖析 查看HTTP请求,可以看到Request Header中添加了Authorization标头,格式为:Autho
比如在使用火狐浏览器登陆时,输入的用户名及密码自动缓存后,下次登陆无需输入密码就可实现登录,这样就给别人留下了漏洞,当别人使用你的电脑登陆那么你的密码就泄露了。使用js加密时,缓存的加密后的密文,用密文...
比如在使用火狐浏览器登陆时,输入的用户名及密码自动缓存后,下次登陆无需输入密码就可实现登录,这样就给别人留下了漏洞,当别人使用你的电脑登陆那么你的密码就泄露了。使用js加密时,缓存的加密后的密文,用密文...
管理员:admin 密码:admin <br>------------------------------------安装说明------------------------------------- <br> 使用解压缩软件解开压缩包,保持文件的相对位置,上传到你的服务器上,论坛...
POST 用户名密码到 \login 请求到达 JwtAuthenticationFilter 中的 attemptAuthentication() 方法,获取 request 中的 POST 参数,包装成一个 UsernamePasswordAuthenticationToken 交付给 AuthenticationManager 的...
JeeSite是在Spring Framework基础上建造的一个Java基础开发平台上,以Spring MVC为模型视图控制器,MyBatis为数据访问层,Apache Shiro为权限层,Ehcahe对常用数据进行缓存,Activit为工作流引擎。是JavaEE界的最佳...