我写了一个程序,在加载登陆界面后,登陆的时候需要判断出是否是第一次,如果是则获得本机的ip和主机名,然后存为作为不可变的常量,然后别人把这个程序拷到其他主机上时,就会判断这不是第一次登陆,然后匹配主机名,如果不同,则需要输入备用密码,我的疑惑就是怎样识别这是不是第一次登陆呢,下面是部分代码,谢谢各位大神了先
InetAddress hostAddress;
public static String iHostName;
public static Boolean isFirst = true;
String iIp;
public UserLogin () throws UnknownHostException{
try
{
System.out.println(isFirst);
if(isFirst){
hostAddress=InetAddress.getLocalHost();
//ip会变,但是主机名称不变,根据主机名称来判断是否需要输入备用密码
iIp=hostAddress.getHostAddress();
iHostName=hostAddress.getHostName();
isFirst=false;
}
}catch (UnknownHostException err)
{
System.out.println("获取IP地址出现错误:"+err);
}
//下面是匹配当前主机名是否是第一次登录时的主机名
if(((InetAddress.getLocalHost()).getHostName()).equals(iHostName))我判断的isFirst变量每次还是true,或者说怎样让isFirst改变后就不再变,谢谢大家了
InetAddress hostAddress;
public static String iHostName;
public static Boolean isFirst = true;
String iIp;
public UserLogin () throws UnknownHostException{
try
{
System.out.println(isFirst);
if(isFirst){
hostAddress=InetAddress.getLocalHost();
//ip会变,但是主机名称不变,根据主机名称来判断是否需要输入备用密码
iIp=hostAddress.getHostAddress();
iHostName=hostAddress.getHostName();
isFirst=false;
}
}catch (UnknownHostException err)
{
System.out.println("获取IP地址出现错误:"+err);
}
//下面是匹配当前主机名是否是第一次登录时的主机名
if(((InetAddress.getLocalHost()).getHostName()).equals(iHostName))我判断的isFirst变量每次还是true,或者说怎样让isFirst改变后就不再变,谢谢大家了
解决方案 »
- struts2.3.4+spring3.2+hibernate4.1+oracle+c3p0 报错
- 关于hibernate一个很简单的manytoone的问题 看不出错在哪 能帮个忙么
- webservice远程调用问题
- struts中怎么把一个标签中的属性值赋给另一个标签的属性值?
- 求一正则表达式(分散完了,sorry)
- mybatis和ibatis
- 创办一个类,想共同学习java,但是想邀请四星级以上的高手加入
- 有没有将C++代码转换到java代码的工具?
- 高手进来看看--------JB7.0的字体问题
- 项目用start可以启动 用debug就不行。。。
- 这样的事务如何实现啊
- 问一下一个网站或者系统的开发过程
String ip = InetAddress.getLocalHost().getHostAddress();
这个就是获取当前主机的ip地址,软件部署在哪台机器返回的就是对应的ip地址,LZ可以试下。
可靠性的话,不如判断“机器码”,硬盘或CPU序列号等,这才是一般不会改变的(改变了,就相当于换电脑了)
如果是第一次登录,把客户端的“机器码”存在文件中或数据库中去
判断是不是第一次登录就简单了,读数据库或文件中的值,如果不为空,那说明不是第一次登录,为空,是第一次,此时把相关值存入即可。
另外,为安全起见,存在数据库中更好点吧
大神分析的很有道理,我也知道主机名不靠谱,只是一般人可能不会轻易改变主机名,你说的那些机器码或硬盘之类的,如何获取呢,我发现个帖子就是问这个的,貌似也没有合适的答案http://bbs.csdn.net/topics/90137128
我现在在做框架,怎么存储这个问题还真没想好,用数据库的的确方便实用,也好编码,但是我做这个考虑的是安全性,如果数据库泄露就麻烦了,但是文件存储这方面又了解不多,我想把这些数据集成然后存成一个系统无法打开的文件类型,大神知不知道怎么处理。。