/// <summary> /// Returns null if username and password are not matched /// </summary> /// <param name="username">The username</param> /// <param name="password">The password</param> /// <returns>null or aceServerUser instance</returns> public aceServerUser GetAccessLevel(string username, string password) { if (items.ContainsKey(username)) { string md5pass = md5.GetMd5Hash(password); aceServerUser usr = this[username]; if (usr.md5pass == md5pass) { return(usr); } else { return(null); } } return(null); }
/// <summary> /// Sets the user supplied. Use this during init sequence or during user list loading /// </summary> /// <param name="username">The username.</param> /// <param name="md5pass">The md5 encripted password</param> /// <param name="uid">The uid.</param> /// <param name="uLevel">User access level</param> /// <param name="allowIP">The list of IP addresses allowed to login using this username/password.</param> /// <returns></returns> /// <exception cref="imbACE.Network.core.aceServerException">Username [" + username + "] is already taken. - null - SetUser failed</exception> public aceServerUser SetUser(string username, string md5pass, uint uid, int uLevel = 1, string[] allowIP = null) { aceServerUser item = new aceServerUser(); item.username = username; item.md5pass = md5pass; item.uid = uid; if (allowIP != null) { item.ipAddress.AddRange(allowIP); } if (items.ContainsKey(username)) { throw new aceServerException("Username [" + username + "] is already taken.", null, serverInstance, "SetUser failed"); } items.Add(username, item); return(item); }