ABA


"מחפש מידע אודות שמירת הרשאות למשתמשים בשיטת hex"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14864 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14864
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   21:06   28.07.08   
אל הפורום  
  מחפש מידע אודות שמירת הרשאות למשתמשים בשיטת hex  
 
   אהלן,
היום קראתי משהו בריפרוף בעבודה על הרשאות בשימוש של מספרים אקסה-דטסימל.
היצוג של הרשאת המשתמש למשל היא:
11000011
יצוג של הרשאות פעולה היא:
11000000

ז"א למשתמש יש הרשאה לבצע את הפעולה הזו.
בנוסף, מאחסנים את המידע הזה בקבועים או במסד נתונים.

אשמח לעזרתכם.
תודה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אז ככה. TTAsnn 28.07.08 22:37 1
     הבנתי את הייצוג עם הביטים, הייתי שמח לדוגמא MoonHunter 28.07.08 22:49 2
         תחפש קצת על אופרטורים בינאריים DLN 29.07.08 10:31 5
     מסורבל רצח חח:| חסר דרכים לתת הרשאות למשתמש? akoka 29.07.08 09:03 3
         חח ואיך נראה לך שזה עובד במסדי נתונים? DLN 29.07.08 10:26 4
             הוא דיבר על הצורה של השמירת נתונים במסד :| akoka 29.07.08 10:38 6
                 חח ומה נראה לך שאתה שם בENUM? DLN 29.07.08 13:49 7
         אז ככה. (אני מת על הכותרת הזו) TTAsnn 29.07.08 18:18 8

       
TTAsnn

   22:37   28.07.08   
אל הפורום  
  1. אז ככה.  
בתגובה להודעה מספר 0
 
   דבר ראשון, זה לא hex זה בינארי.
דבר שני ל"שיטה" לא קוראים הקס אלא קוראים mask\flags אם בכלל קוראים לה
העיקרון הוא כזה, כל ביט (ספרה בינארית) מייצגת פעולה, אם משתמש יכול לעשות את הפעולה אז יש 1 אם הוא לא יכול יש אפס, לדוגמא נקח את הפעולה קריאה ונתאים לה את הביט הכי ימני ואת כתיבה בתור זה אחריו,
ככה אתה בעצם יכול לשלוט לכל אחד מה יהיה ההרשאות, לדוגמא בשביל להוסיף הרשאת כתיבה, תעשה לmask פעולת "או" על הביטים עם המספר 00000001 (1 בדצימלי) ואת התוצאה תשים בתור ההרשאות החדשות שלו, או לחלופין אם אתה רוצה לבטל לו הרשאת קריאה, אתה תעשה אותו דבר רק עם and על הביטים ועם ה"מסכה" 11111110 מקווה שהסברתי טוב, פשוט אני די ממהר לצאת


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   22:49   28.07.08   
אל הפורום  
  2. הבנתי את הייצוג עם הביטים, הייתי שמח לדוגמא  
בתגובה להודעה מספר 1
 
   קצת הסתבכתי עם איך לעשות mask בכדי להוסיף\להסיר הרשאה.
תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   10:31   29.07.08   
אל הפורום  
  5. תחפש קצת על אופרטורים בינאריים  
בתגובה להודעה מספר 2
 
   בגדול יש לך AND שזה פעולת וגם
שאתה לוקח לדוגמא שני מספרים
101100
101010
פעולת AND על שניהם תוציא לך מספר שרק הביטים המשותפים לשני המספרים האלה שדולקים, ידלקו בו
משמע שתוצאת AND על שני המספרים האלה תוציא
101000

ויש OR, שזה פשוט מצב או, שזה אומר שמספיק רק ביט אחד שדולק, OR על שני המספרים הקודמים יצא
101110
רק 0 ו0 מוציא 0.

יש גם כל מיני פעולות כמו XOR, NOT, שיפטים וכאלה, תחפש בגוגל
הרעיון בMaskים זה לדוגמא אם במספר
0011
הביט הימני ביותר מבטא האם היוזר יכול לקרוא
הביט שאחריו מבטא אם הוא יכול לכתוב
אחריו מבטא אם הוא יכול למחוק ונאערף מה האחרון עושה חח
אז 0011 אומר שהמשתמש יכול לקרוא ולכתוב
אם אתה רוצה לבטל לו את ההרשאה לכתוב, אתה יכול לעשות כזה דבר
AND 1101
מה שקורה במצב הזה בעצם זה שאתה משאיר את כל הביטים חוץ מהשני במצב הקודם שלהם, הביט השני יכובה אם הוא דלוק ואם הוא כבוי שום דבר לא יקרה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   09:03   29.07.08   
אל הפורום  
  3. מסורבל רצח חח:| חסר דרכים לתת הרשאות למשתמש?  
בתגובה להודעה מספר 1
 
   במיוחד שמדובר בעבודה מול מסד נתונים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   10:26   29.07.08   
אל הפורום  
  4. חח ואיך נראה לך שזה עובד במסדי נתונים?  
בתגובה להודעה מספר 3
 
   או בכלל בכל תוכנה שמציעה אינטראקציה מוגבלת כלשהי בין השרת למשתמש
זאת פשוט הדרך הכי יעילה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   10:38   29.07.08   
אל הפורום  
  6. הוא דיבר על הצורה של השמירת נתונים במסד :|  
בתגובה להודעה מספר 4
 
   אם אני הייתי צריך לקבוע הרשאות לתוכנה מסויימת ,מה הבעיה ליצור שדה ENUM בתוך המסד שיכיל בתוכו את כול ההרשאות ,ואם למשתמש יכול ליהיות כמה הרשאות אז משתמשים בשדה מסוג SET.

למה כול הבינארי שמינארי הזה ,זה סתם מיותר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   13:49   29.07.08   
אל הפורום  
  7. חח ומה נראה לך שאתה שם בENUM?  
בתגובה להודעה מספר 6
 
   סתכל בEnumים של הרשאות
ולא סתם הדברים שבד"כ נשלחים בבדיקות כאלה זה
If UserAccess(eAccess.Write | eAccess.Admin)
וכל מיני פלאגים אחרים
זה עובד על הרעיון של ביטים במספרים בינאריים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   18:18   29.07.08   
אל הפורום  
  8. אז ככה. (אני מת על הכותרת הזו)  
בתגובה להודעה מספר 3
 
   דבר ראשון כמו שכבר הסבירו לך, ככה הכל עובד מאחורי הקלעים, למה אתה שואל?
ובכן בגלל שבעוד שהמימוש האלטרנטיבי של ייצוג כל אפשרות בכל INT אולי מקל עלייך רעיונית (למרות שזה לא נכון פשוט עושים define לקבועים ואז הכל יפה ופשוט להבנה) זה פי 32 מקום ממה שצריך (תלוי במימוש, אבל נגיד שאינטגר זה 4 בתים, כלומר 32 ביט ואילו בשיטת המאסק אתה משתמש בביט אחד).
נכון, אתה יכול להגיד למי אכפת זה קצת זכרון, וכאן בעצם נובעת כל בעיית הbloatware של ימינו, אנשים לא חושבים על יעילות, מתכנתים באמצעים שלא מתאימים לפתרון שהם מחפשים ויוצא מצב שתוכנה פשוטה עובדת לאט וכבד.
זה הפתרון הכי אלגנטי שקיים (שאני מכיר) הוא מהיר, מאוד אינטואטיבי ופשוט להבנה, וכמו שהסבירו מעלי, גם למימוש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net