-
אני בונה תוכנה ב: c# windows forms
ואני מעוניין לעשות רמות משתמשים
לדוגמא: רמה 1: רשאי לבצע כל פעולה, רמה 2: יכול לבצע רק פעולות 1,2,3(חשבתי לעשות מסך כניסה שמפנה לפי שם משתמש לטופס שונה, אבל זה 'דרך קצרה שהיא ארוכה'
כי זה אח"כ לתחזק בתיקוני קוד כל פעם שתי טפסים)אשמח לעזרתכם
ולו בהכוונה איך הפרוצדורה הזאת נקראת, ואז אוכל לחפש זאת בגוגל -
@mekev אין דרך זהב לנושא.
ראשית כל צריך לדעת שמדובר בהרשאות "אסטטיות", כלומר לא באמת בגלל שיש כפתור או חסר כפתור, ייקבע אם המשתמש יכול לבצע פעולה כל שהיא. אם למשל מדובר בכתיבה לקובץ או למסד, המשתמש יוכל להיעזר בכלי או לכתוב קוד שנותן לו גישה ישירה למקור הנתונים וכדומה. לכן אם מדובר במניעת הרשאות חשובה, צריך שהפעולה תתבצע מול תוכנה מרוחקת (שרת) ושמה יהיו למשתמש הרשאות נמוכות, שזה לא ניתן לעקיפה.שנית, במימוש הסתרת כפתור וכדומה לפי רמת הרשאה, בwinforms נדרש קוד ידני.
צריך בטעינת הטופס לבדוק (במשתנה גלובלי שאותחל ממסך הכניסה) את רמת המשתמש ולפי זה לעשות disable וכדומה לאלמנטים הנכונים. זה דרך מרגיזה אבל ככה זה winforms.
כמובן שבמקרים שההרשאות גורמות להבדל דרמטי בממשק, כדאי לעשות שני טפסים, ומה שמשותף לשניהם אפשר לעשות בUserControl כדי לחסוך תחזוקה כפולה, בכל מקרה winforms זה לא תענוג גדול. -