private void lbUsers_SelectedIndexChanged(object sender, EventArgs e) { if (lbUsers.SelectedIndex < 0 && lbUsers.SelectedIndex > lbUsers.Items.Count) { btnDelete.Enabled = false; } else { if (_modified) { DialogResult dr = MessageBox.Show("User info changed. Save changes ?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { btnSave_Click(sender, e); } } tbUserName.Text = ""; tbUserPass.Text = ""; tbUserHome.Text = ""; FTPUser u = _um[lbUsers.SelectedItem.ToString()]; tbUserName.Text = u.Name; tbUserPass.Text = u.SHA1Password; tbUserHome.Text = u.Startupdir; SetPermissions(u.Permissions); btnDelete.Enabled = true; _modified = false; btnSave.Enabled = false; } }
private void btnSave_Click(object sender, EventArgs e) { FTPUser u = _um[lbUsers.SelectedItem.ToString()]; u.Name = tbUserName.Text; u.SetPassword(tbUserPass.Text); u.Permissions = SetPermissions(); u.Startupdir = tbUserHome.Text; btnSave.Enabled = false; UpdateUserPanel(); }
public static void SetUser(string userName, string password, string root) { if (_serverConfig.Users == null) { _serverConfig.Users = new ConcurrentDictionary <string, FTPUser>(); } var user = new FTPUser(userName, password, root); _serverConfig.Users.AddOrUpdate(userName, user, (k, v) => { return(user); }); }
public static string GetExactPath(string Path, FTPUser ConnectedUser) { // Windows : C:\Users\work\Source\Repos\MyFTPServer\MyFTPServer\Classes // Linux : /root/myftppath if (Path == null) { Path = ""; } string dir = Path; string CurrentWorkingDirectory = ConnectedUser?.CurrentWorkingDirectory ?? "/"; if ((dir.StartsWith("/") == false && dir.StartsWith(@"\") == false)) { dir = CurrentWorkingDirectory + "/" + dir; } else { dir = Path; } dir = dir.Replace(@"\\", @"\"); dir = dir.Replace(@"//", @"/"); if (dir.Contains("/") && !dir.EndsWith("/")) { dir += "/"; } else if (dir.Contains(@"\") && !dir.EndsWith(@"\")) { dir += @"\"; } Console.WriteLine("The Path is : " + dir); return(dir); }