簡體   English   中英

文件夾權限

[英]Permissions on a folder

我已經找了一段時間,卻找不到。 如何設置程序以寫入或更新來自多個用戶的文件,但只允許一個組打開讀取文件夾中的內容?

class Log_File
   {
    string LogFileDirectory = @"\\server\boiseit$\TechDocs\Headset Tracker\Weekly Charges\Log\Log Files";
    string PathToXMLFile = @"\\server\boiseit$\scripts\Mikes Projects\Headset-tracker\config\Config.xml";
    string AdditionToLogFile = @"\Who.Did.It_" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Year + ".txt";
    XML XMLFile = new XML();

public void ConfigCheck()
   {
       if (!File.Exists(PathToXMLFile))
       {
       XMLFile.writeToXML(PathToXMLFile, LogFileDirectory + AdditionToLogFile);
       }
    }
public void CreateLogFile()
    {

        if (Directory.GetFiles(LogFileDirectory).Count() == 0)
        {
            XMLFile.writeToXML(PathToXMLFile, LogFileDirectory + AdditionToLogFile);
            CreateFileOrAppend("");
        }
        else if (!File.Exists(XMLFile.readingXML(PathToXMLFile)))
        {
            XMLFile.writeToXML(PathToXMLFile, LogFileDirectory + AdditionToLogFile);
            CreateFileOrAppend("");
        }
        else
        {
            FileInfo dateOfLastLogFile = new FileInfo(XMLFile.readingXML(PathToXMLFile));
            DateTime dateOfCreation = dateOfLastLogFile.CreationTime;

            if (dateOfLastLogFile.CreationTime <= DateTime.Now.AddMonths(-1))
            {
                XMLFile.writeToXML(PathToXMLFile, LogFileDirectory + AdditionToLogFile);
                CreateFileOrAppend("");
            }
        }

    }

    public void CreateFileOrAppend(string whoDidIt)
    {
        using (IsolatedStorageFile storage = IsolatedStorageFile.GetStore((IsolatedStorageScope.Domain | IsolatedStorageScope.Assembly | IsolatedStorageScope.User), null, null))
        {
            using (StreamWriter myWriter = new StreamWriter(XMLFile.readingXML(PathToXMLFile), true))

            {
                if (whoDidIt == "")
                {

                }
                else
                {
                    myWriter.WriteLine(whoDidIt);
                }
            }
         }

      }

這是我需要走的路。 我具有打開和寫入文件夾的特殊權限,但我的同事沒有。 我不允許他們擁有此許可。

如果我在哪里建立數據庫,我將如何更改此代碼

LoggedFile.CreateFileOrAppend(Environment.UserName.ToUpper() + "-" + Environment.NewLine + "Replacement Headset To: " + AgentName + Environment.NewLine + "Old Headset Number: " + myDatabase.oldNumber + Environment.NewLine + "New Headset Number: " + HSNumber + Environment.NewLine + "Date: " + DateTime.Now.ToShortDateString() + Environment.NewLine);

我需要它來拉動當前用戶,受影響的代理名稱(舊耳機和新耳機)以及發生的時間。

創建文件時,必須設置訪問規則才能達到要求。

File.SetAccessControl(string,FileSecurity)

以下鏈接具有示例https://msdn.microsoft.com/zh-cn/library/system.io.file.setaccesscontrol(v=vs.110).aspx

同樣,作為輸入參數的“ FileSecurity”類對象具有設置訪問規則的功能,包括組級別控制。 下面的鏈接具有示例https://msdn.microsoft.com/zh-cn/library/system.security.accesscontrol.filesecurity(v=vs.110).aspx

該問題將在一個新問題下打開,因為我將采用另一種方式記錄所需的數據,謝謝大家的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM