当前位置: 技术问答>java相关
如何实现只有指定的计算机可以登录系统?(系统为JSP+EJB,使用者跨多个网段)
来源: 互联网 发布时间:2015-04-17
本文导语: 系统是用JSP+EJB实现的,本来权限设计为只要用户名、密码正确就可以,可是现在上头要求用户必须在指定的机子上登录系统,由于用户分散在各地,网段不一样,且很多用户的ip是动态分布的,所以通过ip来限定是...
系统是用JSP+EJB实现的,本来权限设计为只要用户名、密码正确就可以,可是现在上头要求用户必须在指定的机子上登录系统,由于用户分散在各地,网段不一样,且很多用户的ip是动态分布的,所以通过ip来限定是不行的啦,我初步设想的方案是用户下载一个脚本,本地执行记录下Mac地址,再写入cookie,但这方案有很多漏洞,各位能不能提出些别的设想,谢谢!
|
建议采用数字证书,给每个计算机都发放数字证书。
大部分浏览器都支持客户端的数字证书,不知道你采用什么服务器系统?
Weblogic可以。
通过证书认证客户端,用密码和用户名认证用户。
大部分浏览器都支持客户端的数字证书,不知道你采用什么服务器系统?
Weblogic可以。
通过证书认证客户端,用密码和用户名认证用户。
|
我的思路:
做一个数字签名的Applet用于收集登陆者IP、MAC、USER、PASSWORD
然后在后台数据库,建一张信息表,存储可登陆计算机的MAC及用户名密码等。
这样在实现用户名密码验证的同时,也限定了只有指定的计算机能登陆系统。
另:对计算机MAC地址的采集,需要在Applet中调用本地方法取得。
做一个数字签名的Applet用于收集登陆者IP、MAC、USER、PASSWORD
然后在后台数据库,建一张信息表,存储可登陆计算机的MAC及用户名密码等。
这样在实现用户名密码验证的同时,也限定了只有指定的计算机能登陆系统。
另:对计算机MAC地址的采集,需要在Applet中调用本地方法取得。
|
數字證書可以自己做 openssl 就有這種工具 但是效率很低