
הטקסט המלא של הדקות הראשונות בהרצאה «אבטחה - MVC Security - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לנושא חשוב, נושא הסקיוריטי. כאן אנחנו הולכים לראות איך למנוע גישה לדפים לא מורשים מאנשים שהם בעצם לא נרשמו לנו לאתר.
יכול להיות שיש לכם באתר דף שאתם רוצים שכולם יצליחו לגלוש אליו, נניח דף בית. יכול להיות שיש לכם דף שאתם רוצים שאנשים יצליחו לראות אותו רק במידה והם נרשמו.
יכול להיות בכלל שאתם רוצים רק לאפשר ליוזר מסוים בשם נניח מוישה להיכנס לאיזשהו דף. יכול להיות שאתם רוצים לאפשר גישה לדף או לביצוע פעולה רק לאדמיניסטרטור או למנהל או למזכירה, זאת אומרת roles מסוימים, תפקידים מסוימים.
כאן אנחנו הולכים לראות איך לבצע security באתר, כך שאנשים לא יצליחו להיכנס לדפים בלי להירשם, או גם אם הם נרשמים והם לא מורשים לראות את הדפים, הם לא יצליחו לראות אותם.
בנוסף, איך לטפל במעין זיוף על ידי האקרים שיכולים לזייף לנו ריקווסטים לאתר. אז בואו נתחיל. דבר ראשון, אנחנו עבדנו בפרויקט עם מסד הנתונים Northwind.
בנורת'ווינד אין שום דבר שקשור לסקיוריטי, ולכן דבר ראשון אנחנו הולכים להוסיף לנורת'ווינד טבלה של לוגינס, כך שנוכל להירשם על ידי יוזרניים ופסוורד.
אז בואו נפתח את מסד הנתונים, ניגש לטבלאות ונוסיף טבלה. נגדיר קודם כל איזשהו user ID, אינטג'ר, נגדיר את השדה הזה כשדה מפתח, ונגדיר לו שמסד הנתונים יספק לו איידנטיטי, זאת אומרת מספור אוטומטי רץ.
זה יכול להוות לנו מפתח כך שנוכל לבצע קישור לטבלאות אחרות בעתיד אם נרצה. עמודה נוספת Username נגדיר nvarchar nvarchar זה סטרינג שיכול לקבל גם תווים מכל מיני ארצות כמו עברית, צרפתית וכולי.
נגדיר password גם כן nvarchar לא ניתן להכניס null, כלומר מי שרוצה להכניס מידע חייב לתת לנו גם יוזרנם וגם פסוורד ונשמור את הטבלה הזאת כטבלת לוגינג.
נבצע אוקיי ויצרנו כרגע את הטבלה בדאטאבייס. בואו נבצע רפרש ונראה כאן את הטבלה. כרגע הטבלה ריקה לגמרי, נוסיף איזשהו יוזר, נגדיר יוזר בשם aa עם סיסמה bb, נרפרש, יש לנו כרגע יוזר אחד שאיתו נוכל להתחיל להשתמש ולהיכנס לאתר שלנו.
אחרי שעשינו את זה אנחנו צריכים לגשת לפרויקט ולייבא את הטבלה לאנטיטי פריימורק ואנחנו נכנסים ל-edmx מקש ימני Update model from database בוחרים pluralize ובוחרים את הטבלה היחידה שלא הבאנו נבצע finish נאתר אותה הנה