קבצים ברשת
-
@מנצפך
@dovid נראה לי הפיתרון הזה עדיף. הוא ממש יוצר כונן לוגי ולא רשת.using System; using System.Text; using System.ComponentModel; using System.Runtime.InteropServices; static class Subst { public static void MapDrive(char letter, string path) { if (!DefineDosDevice(0, devName(letter), path)) throw new Win32Exception(); } public static void UnmapDrive(char letter) { if (!DefineDosDevice(2, devName(letter), null)) throw new Win32Exception(); } public static string GetDriveMapping(char letter) { var sb = new StringBuilder(259); if (QueryDosDevice(devName(letter), sb, sb.Capacity) == 0) { // Return empty string if the drive is not mapped int err = Marshal.GetLastWin32Error(); if (err == 2) return ""; throw new Win32Exception(); } return sb.ToString().Substring(4); } private static string devName(char letter) { return new string(char.ToUpper(letter), 1) + ":"; } [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern bool DefineDosDevice(int flags, string devname, string path); [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern int QueryDosDevice(string devname, StringBuilder buffer, int bufSize); }
בדיקה:
Subst.MapDrive('z', @"c:\temp"); Console.WriteLine(Subst.GetDriveMapping('z')); Subst.UnmapDrive('z');
לא בדקתי (ומעניין לבדוק) אם הוא על כל המחשב או רק על משתמש מסויים.
מקור:
https://stackoverflow.com/questions/3753758/creating-virtual-hard-drive -
-
-
@מנצפך
זה רשת?
אז אולי הפיתרון של דוד יותר נכון.
ואז ממילא אתה משתמש בהרשאות אז הכל בסדר
אתה יכול להשתמש בפיתרון שלי עם נתיב UNCלגבי שם משתמש וסיסמא אני לא יודע
אבל ייתכן ש@מנצפך אמר בקבצים ברשת:
זה קשור כאן לעסק?
https://www.codeproject.com/Articles/43091/Connect-to-a-UNC-Path-with-Credentialsאכן יעזור
-
@clickone אפרט יותר.
יש מחשב ציבורי.
אני רוצה לאפשר לכמה אנשים להשתמש בו, כל אחד יוכל לאחסן את החומר שלו על המחשב ויוכל לגשת רק לקבצים שלו, ע"י הזנת פרטי זיהוי בתוכנה שלי.
אני לא רוצה ליצור לכל אחד חשבון משלו. (כי זה כמה מחשבים).
חשבתי לעשות משהו כזה:
כשמשתמש נכנס לראשונה לתוכנה שלי, אני יוצר לו תיקייה ברשת, וממפה אותה.
לאחר שהוא מסיים את השימוש אני מוחק את המיפוי, ומשנה את ההרשאות של התיקייה כך ששום מחשב ברשת לא יוכל לגשת אליה. עד שהמשתמש נכנס שוב למערכת, ואז אני נותן שוב (למחשב שבו הוא משתמש) הרשאות גישה.
מה אתם אומרים על זה?
והאם אפשר לעשות את זה גם ב FTP? (מיפוי כונן, כך שאפשר לגשת אליו כמו כונן לוגי אחר)?