私はc#winformsアプリケーションを作成しています。フォルダ/サブフォルダ/ファイルへのアクセスをプログラムに限定するには?
私はScanRepositoryというフォルダを持っています。他のプログラムやWindowsユーザーがこのフォルダ、サブフォルダやファイルを一種のパスワードやキーで開き、自分のC#で開くことができないようにしたいのですが、コード。
提案がありますか?
私はc#winformsアプリケーションを作成しています。フォルダ/サブフォルダ/ファイルへのアクセスをプログラムに限定するには?
私はScanRepositoryというフォルダを持っています。他のプログラムやWindowsユーザーがこのフォルダ、サブフォルダやファイルを一種のパスワードやキーで開き、自分のC#で開くことができないようにしたいのですが、コード。
提案がありますか?
using System.IO;
using System.Security.AccessControl;
private void btnBrowse_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = folderBrowserDialog1.SelectedPath;
}
}
private void btnLock_Click(object sender, EventArgs e)
{
try
{
string folderPath = textBox1.Text;
string adminUserName = Environment.UserName;// getting your adminUserName
DirectorySecurity ds = Directory.GetAccessControl(folderPath);
FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName, FileSystemRights.FullControl, AccessControlType.Deny)
ds.AddAccessRule(fsa);
Directory.SetAccessControl(folderPath, ds);
MessageBox.Show("Locked");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnUnLock_Click(object sender, EventArgs e)
{
try
{
string folderPath = textBox1.Text;
string adminUserName = Environment.UserName;// getting your adminUserName
DirectorySecurity ds = Directory.GetAccessControl(folderPath);
FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName, FileSystemRights.FullControl, AccessControlType.Deny)
ds.RemoveAccessRule(fsa);
Directory.SetAccessControl(folderPath, ds);
MessageBox.Show("UnLocked");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
最も明白な答えは、ユーザーにフォルダをロックした場合にユーザーを聞かせてほとんどのものは、そのフォルダがそのユーザーにロックが解除されている間、他のアプリがで見ることができます..で他のアプリをできるようになるということです
最善の方法は、ユーザーが使用できないアカウントとしてサービスを実行することです。次に、そのアカウント(とシステム、それをバックアップしたい場合)だけにアクセスをロックし、それらのファイルやリストなどへのアクセスを処理するサービスを作成して、あなたのアプリとインターフェースします。彼らは本質的にアクセスできない。
あなたの答えは100%正確ですが、そのリンクが別のものまたはメインサイトに移動、変更、あなたの答えを編集し、 あなたの答えにリンクから関連するステップをコピーすることで、 あなたの答えはこのサイトの生涯の100%を保証します!**; - )**あなたはいつでも にリンクを残すことができます答えの一番下にある の資料の内容... –
ありがとうございました:) –
@medomedoそのブログ記事の内容全体をStack Overflowにコピーする権限はありますか?ブログ投稿は無免許で、Stack Overflowは完全にCreative Commons Licenseの下にあります。 –