Login.java
上传用户:sdtxjx
上传日期:2022-07-09
资源大小:2937k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /***************************************************
  2.  *  
  3.  *  源文件名:  Login.java
  4.  *  功    能: 梦想年华新闻系统 - 用户登录类
  5.  * 作者:梦想年华 [DreamTime]
  6.  * Email:fanwsp@126.com
  7.  *  QQ:122142023 
  8.  *  CopyRight(c)2005-2006 by DreamTime 
  9.  *
  10.  ****************************************************
  11. */
  12. package dreamtime.dreamnews; //指定类所在的包
  13. import java.sql.*;
  14. import dreamtime.dreamnews.Function;
  15. import dreamtime.dreamnews.DBConnection;
  16. import dreamtime.dreamnews.MD5;
  17. public class Login
  18. {
  19.     DBConnection DBConn = new DBConnection();
  20.     Function Fun = new Function(); 
  21.     MD5 md5 = new MD5();
  22.     public static int AdminID;
  23.     public static int AdminType;
  24.     public static int LoginNum;
  25.     
  26.     
  27.     public Login()
  28.     {
  29.        
  30.     }
  31.     
  32.     
  33.     /*********************************************************
  34. * 函数名:LoginCheck
  35. * 作  用:验证登录
  36. * 参  数:s1,s2,s3: 字符串型,登录用户名,密码,IP
  37. * 返回值:布尔型。登录成功返回 Ture,否则返回 False
  38. ***********************************************************/
  39.     public boolean LoginCheck(String s1,String s2,String s3)
  40.     {
  41.      String [] sLog = new String[5];
  42.      try
  43.      {
  44.      Connection Conn = DBConn.getConn();
  45.      Statement stmt = Conn.createStatement(1004,1007);
  46.      ResultSet rs = null;
  47.      boolean OK = true;
  48.      String AdminPwd = "";
  49.      String User = Fun.CheckReplace(s1);
  50.      String Pwd = md5.getMD5ofStr(md5.getMD5ofStr(Fun.CheckReplace(s2)));
  51.      String Sql = "select * from Admin where AdminName='" + User + "'";
  52.      rs = stmt.executeQuery(Sql);
  53.      sLog[0] = User;
  54.      sLog[2] = (new java.util.Date()).toLocaleString();
  55.      sLog[3] = s3;
  56.      if (!rs.next())
  57.      {
  58.      sLog[1] = "用户登录 [ 用户名不存在 ]";
  59.      sLog[4] = "No";
  60.      Fun.AddLog(sLog);
  61.      OK = false;
  62.      }
  63.      else 
  64.      {
  65.      AdminPwd = rs.getString("AdminPwd");
  66.      if(Pwd.equals(AdminPwd))
  67.      {
  68.     
  69.      AdminID=rs.getInt("AdminID");
  70.      AdminType=rs.getInt("AdminType");
  71.      LoginNum = rs.getInt("LoginNum");
  72.      sLog[1] = "用户登录";
  73.      sLog[4] = "Yes";
  74.      UpdateLogin(s3,sLog[2],LoginNum+1,AdminID);
  75.          Fun.AddLog(sLog);
  76.      OK = true;
  77.      }
  78.      else
  79.      {
  80.      sLog[1] = "用户登录[密码错误]";
  81.      sLog[4] = "No";
  82.          Fun.AddLog(sLog);
  83.          OK = false;
  84.      }
  85.      }
  86.      return OK;
  87.     }
  88.     catch(SQLException e)
  89.         {
  90.             //e.printStackTrace();
  91.             //return e.getMessage().toString();
  92.             sLog[1] = "用户登录[程序异常]";
  93.             sLog[4] = "No";
  94.      Fun.AddLog(sLog);
  95.             return false;
  96.         }
  97.     }
  98.      
  99.    
  100.     /*********************************************************
  101. * 函数名:UpdateLogin
  102. * 作  用:更新登录信息
  103. * 参  数:s1,最后登录的IP地址
  104. *       s2,最后登录的时间
  105. *     iNum,登录资料
  106. *         ID,管理员ID
  107. * 返回值:布尔型。更新成功返回 Ture,否则返回 False
  108. ***********************************************************/
  109.     public boolean UpdateLogin(String s1,String s2,int iNum,int ID)
  110.     {
  111.      String sql = "";
  112.      try
  113.      {
  114.      Connection Conn = DBConn.getConn();
  115.      Statement stmt = Conn.createStatement(1004,1007);
  116.      ResultSet rs = null;
  117.      sql = "update Admin set ";
  118.      sql += "LastLoginIP='" + s1 + "',";
  119.      sql += "LastLoginTime='" + s2 + "',";
  120.      sql += "LoginNum=" + iNum + " where AdminID=" + ID ;
  121.      stmt.executeUpdate(sql);
  122. stmt.close();
  123. Conn.close();
  124.      return true;
  125.     }catch(SQLException e)
  126.         {
  127.             //e.printStackTrace();
  128.             System.out.print(sql);
  129.             return false;
  130.         }
  131.     }
  132.    
  133.    
  134.    
  135.     //测试
  136. public static void main(String[] args)
  137. {
  138. Login login = new Login();
  139. if (login.LoginCheck("dream","dream","172.16.166.50"))
  140. System.out.println("Success!" + login.AdminID);
  141. else
  142. System.out.println("Fail");
  143. }
  144.     
  145.     
  146. }