דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קבצים ברשת

קבצים ברשת

מתוזמן נעוץ נעול הועבר תכנות
19 פוסטים 3 כותבים 1.2k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    השיב למנצפך ב נערך לאחרונה על ידי clickone
    #7

    @מנצפך
    @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

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    מנצפךמ clickoneC 2 תגובות תגובה אחרונה
    1
    • מנצפךמ מנותק
      מנצפךמ מנותק
      מנצפך
      השיב לclickone ב נערך לאחרונה על ידי
      #8

      @clickone והמשתמש לא יוכל לגשת למה שלא עשיתי mapping?

      clickoneC תגובה 1 תגובה אחרונה
      0
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב למנצפך ב נערך לאחרונה על ידי
        #9

        @מנצפך
        אם זה ברשת אז וודאי שלא
        אם זה בתוך המחשב עצמו, אז תסגור את השאר בהרשאות קריאה וכתיבה.
        או תסתיר את הכונן (לא שזה יעזור יותר מדאי 🙂 אם הוא ידע להגיע מבחוץ לנתיב של C זה לא יעזור לך. אא"כ תשתמש בהרשאות חזקות או שים את זה בכונן אחר חוץ מC)

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        תגובה 1 תגובה אחרונה
        1
        • clickoneC מנותק
          clickoneC מנותק
          clickone
          השיב לclickone ב נערך לאחרונה על ידי
          #10

          @clickone אמר בקבצים ברשת:

          לא בדקתי (ומעניין לבדוק) אם הוא על כל המחשב או רק על משתמש מסויים.

          לפי בדיקה ראשונית שעשיתי הכונן הוא פר משתמש

          אין טסט כמו פרודקשן.

          המייל שלי urivpn@gmail.com

          תגובה 1 תגובה אחרונה
          0
          • מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #11

            @clickone אני רוצה להבין עוד.
            איך אני עושה שהמשתמש לא יוכל לגשת למה שלא עשיתי maaping?
            בדר"כ אני יודע שבשביל לגשת לקבצים במחשב אחר ברשת, צריך שם וסיסמא של המשתמש במחשב המרוחק. אז איך אני מספק אותם בשביל ליצור כונן רשת?

            clickoneC תגובה 1 תגובה אחרונה
            0
            • מנצפךמ מנותק
              מנצפךמ מנותק
              מנצפך
              כתב ב נערך לאחרונה על ידי
              #12

              זה קשור כאן לעסק?
              https://www.codeproject.com/Articles/43091/Connect-to-a-UNC-Path-with-Credentials

              תגובה 1 תגובה אחרונה
              1
              • clickoneC מנותק
                clickoneC מנותק
                clickone
                השיב למנצפך ב נערך לאחרונה על ידי
                #13

                @מנצפך
                זה רשת?
                אז אולי הפיתרון של דוד יותר נכון.
                ואז ממילא אתה משתמש בהרשאות אז הכל בסדר
                אתה יכול להשתמש בפיתרון שלי עם נתיב UNC

                לגבי שם משתמש וסיסמא אני לא יודע
                אבל ייתכן ש

                @מנצפך אמר בקבצים ברשת:

                זה קשור כאן לעסק?
                https://www.codeproject.com/Articles/43091/Connect-to-a-UNC-Path-with-Credentials

                אכן יעזור

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                מנצפךמ תגובה 1 תגובה אחרונה
                0
                • מנצפךמ מנותק
                  מנצפךמ מנותק
                  מנצפך
                  השיב לclickone ב נערך לאחרונה על ידי
                  #14

                  @clickone זה רשת.

                  clickoneC תגובה 1 תגובה אחרונה
                  1
                  • clickoneC מנותק
                    clickoneC מנותק
                    clickone
                    השיב למנצפך ב נערך לאחרונה על ידי clickone
                    #15

                    @מנצפך
                    תתחיל עם הפיתרון הזה
                    בא נראה מה יצא
                    אל תראה למשתמש את כונן הרשת
                    רק את הכונן הלוגי
                    וכמובן

                    1. הרשאות!
                    2. הרשאות!!
                    3. הרשאות!!!

                    אין טסט כמו פרודקשן.

                    המייל שלי urivpn@gmail.com

                    מנצפךמ 2 תגובות תגובה אחרונה
                    0
                    • מנצפךמ מנותק
                      מנצפךמ מנותק
                      מנצפך
                      השיב לclickone ב נערך לאחרונה על ידי
                      #16

                      @clickone איך להסתיר את הרשת?
                      האמת שאני קצת מסתבך כי אני לא על המחשב ווינדוס ואת כל הניסויים אני עושה על VM.

                      תגובה 1 תגובה אחרונה
                      0
                      • מנצפךמ מנותק
                        מנצפךמ מנותק
                        מנצפך
                        השיב לclickone ב נערך לאחרונה על ידי
                        #17

                        @clickone ניסיתי להוריד הרשאות מהתיקייה שברשת. אבל גם כשאני ממפה כונן המשתמש לא יכול להיכנס. מה עשינו?

                        clickoneC תגובה 1 תגובה אחרונה
                        0
                        • clickoneC מנותק
                          clickoneC מנותק
                          clickone
                          השיב למנצפך ב נערך לאחרונה על ידי
                          #18

                          @מנצפך ההרשאות צריכות להיות תקפות ספציפית לאותו משתמש.
                          אולי תמקד יותר מה אתה מנסה לעשות?
                          אולי כל מה שאתה צריך זה תיקיית FTP ממופה.

                          אין טסט כמו פרודקשן.

                          המייל שלי urivpn@gmail.com

                          תגובה 1 תגובה אחרונה
                          1
                          • מנצפךמ מנותק
                            מנצפךמ מנותק
                            מנצפך
                            כתב ב נערך לאחרונה על ידי
                            #19

                            @clickone אפרט יותר.
                            יש מחשב ציבורי.
                            אני רוצה לאפשר לכמה אנשים להשתמש בו, כל אחד יוכל לאחסן את החומר שלו על המחשב ויוכל לגשת רק לקבצים שלו, ע"י הזנת פרטי זיהוי בתוכנה שלי.
                            אני לא רוצה ליצור לכל אחד חשבון משלו. (כי זה כמה מחשבים).
                            חשבתי לעשות משהו כזה:
                            כשמשתמש נכנס לראשונה לתוכנה שלי, אני יוצר לו תיקייה ברשת, וממפה אותה.
                            לאחר שהוא מסיים את השימוש אני מוחק את המיפוי, ומשנה את ההרשאות של התיקייה כך ששום מחשב ברשת לא יוכל לגשת אליה. עד שהמשתמש נכנס שוב למערכת, ואז אני נותן שוב (למחשב שבו הוא משתמש) הרשאות גישה.
                            מה אתם אומרים על זה?
                            והאם אפשר לעשות את זה גם ב FTP? (מיפוי כונן, כך שאפשר לגשת אליו כמו כונן לוגי אחר)?

                            תגובה 1 תגובה אחרונה
                            0

                            בא תתחבר לדף היומי!
                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

                            • התחברו או הירשמו כדי לחפש.
                            • פוסט ראשון
                              פוסט אחרון
                            0
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום