客戶端登陸界面如下:
成都創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元江夏做網(wǎng)站,已為上家服務,為江夏各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
客戶端代碼:
Program.cs 中 NetworkComms.IgnoreUnknownPacketTypes = = ConnectionInfo(, = MainForm mainForm = frmLogin loginForm = (loginForm.ShowDialog() ==(loginForm.Register == =
登陸窗口中的登陸按鈕相關代碼
private void btnLogin_Click(object sender, EventArgs e) { // 如果通過輸入驗證 if (UserInputCheck()) { try { // 保存登錄身份是否合法驗證結(jié)果 bool isPass = false; Users theUser = new Users(); theUser.UserID = txtLoginName.Text.Trim(); theUser.Password = txtUserPwd.Text.Trim(); //發(fā)送當前登陸用戶的信息給服務器,并從服務器獲取返回的信息 LoginResult loginResult = newTcpConnection.SendReceiveObject<LoginResult>("Login", "LoginResult", 5000, theUser); if (loginResult.Message=="登錄成功") { //記錄用戶名 netConfiguration.UserID = theUser.UserID; netConfiguration.Save(); //初始化主窗口中的屬性 theUser.Department = loginResult.Department; theUser.Name = loginResult.UserName; mainForm.InitiaLize(this.newTcpConnection, theUser); // 標識驗證通過 isPass = true; Register = 5; this.DialogResult = DialogResult.OK; } // 如果未通過驗證 if (!isPass) { MessageBox.Show(loginResult.Message); } } catch (Exception ex) { ShowLoginLostToolTip(ex); } } }
User.cs實體類代碼:
Users實體類,支持Protobuf.net序列化
服務器端程序的處理代碼:
在服務器端構(gòu)造函數(shù)中聲明針對登陸操作的處理器:
//用戶驗證處理器 NetworkComms.AppendGlobalIncomingPacketHandler<Users>("Login", HandleUserVerify);
//用戶登錄驗證 private void HandleUserVerify(PacketHeader header, Connection connection, Users theUser) { LoginResult loginResult = new LoginResult(); Users currentUser = DoUsers.GetUserByID(theUser.UserID); string message; if (currentUser != null) { if (currentUser.Password == theUser.Password) message = "登錄成功"; else if (currentUser.Password == "msdcmsdcmsdcmsdcmsdc") message = "用戶未開通,請與管理員聯(lián)系"; else if (currentUser.Password != theUser.Password) message = "用戶名密碼不匹配"; else message = "登錄不成功,原因未知"; } else { message = "用戶不存在"; } loginResult.Message = message; loginResult.Department = currentUser.Department; loginResult.UserName = currentUser.Name; connection.SendObject("LoginResult", loginResult); }
LoginResult契約類
DoUsers類中相關方法
public static Users GetUserByID(string userID) { using (IDataReader reader = DBUsers.GetOneByUserID(userID)) { Users theUser = PopulateFromReader(reader); return theUser; } }
private static Users PopulateFromReader(IDataReader reader) { Users Users = new Users(); if (reader.Read()) { Users.Id = Convert.ToInt32(reader["Id"]); Users.UserID = reader["UserID"].ToString(); Users.Name = reader["Name"].ToString(); Users.Password = reader["Password"].ToString(); Users.Declaring = reader["Declaring"].ToString(); Users.Status = Convert.ToInt32(reader["Status"]); Users.IsMale = Convert.ToBoolean(reader["IsMale"]); Users.UserLevel = Convert.ToInt32(reader["UserLevel"]); Users.Enabled = Convert.ToBoolean(reader["Enabled"]); Users.RegisterTime = Convert.ToDateTime(reader["RegisterTime"]); Users.LastLoginTime = Convert.ToDateTime(reader["LastLoginTime"]); Users.DepID = Convert.ToInt32(reader["DepID"]); Users.Department = reader["Department"].ToString(); } return Users; }
DBUsers類中相關方法
//根據(jù)UserID獲取記錄 public static IDataReader GetOneByUserID(string userID) { SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "Users_SelectOneByUserID", 1); sph.DefineSqlParameter("@UserID", SqlDbType.NVarChar, 200, ParameterDirection.Input, userID); return sph.ExecuteReader(); }
數(shù)據(jù)庫中相關的存儲過程
CREATE PROCEDURE [dbo].Users_SelectOneByUserID @UserID nvarchar(100) AS SELECT [Id], [UserID], [Name], [Password], [Declaring], [Status], [IsMale], [UserLevel], [Enabled], [RegisterTime], [LastLoginTime], [DepID], [Department] FROM [dbo].[Users] WHERE UserID=@UserID
本文標題:錄播教室預約系統(tǒng)(五)-用戶登陸
分享網(wǎng)址:http://aaarwkj.com/article28/jesgjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、Google、手機網(wǎng)站建設、定制開發(fā)、用戶體驗、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)