PracticU

אבטחה - MVC Security - חלק 4

בלי כתוביותעם כתוביות
PracticU › קורס MVC › אבטחה - MVC Security - חלק 4
מילון מושגים:
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
קונטרולר - רכיב שמתווך בין הממשק לבין הלוגיקה והנתונים, מקבל בקשות ומחליט כיצד לטפל בהן (למשל בדפוס MVC).
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.

אבטחה - MVC Security - חלק 4
בשלב הזה מאפשרים למשתמש להירשם כמשתמש חדש. ההרשמה דורשת מודל משלה, כי לטופס יש שדה אימות סיסמה שאינו קיים בטופס הלוגין.
מודל ההרשמה והוולידציה
1. מודל ייעודי: מעתיקים את מודל הלוגין ומוסיפים לו שדה Confirm Password. כל שדה מקבל את ההגדרות שלו: חובה, סוג הנתונים ותווית לתצוגה.
2. ולידציית השוואה: אטריביוט Compare משווה את שדה אישור הסיסמה לשדה הסיסמה. הודעת השגיאה היא שהסיסמאות אינן תואמות.
הפעולה בקונטרולר
3. בדיקת הוולידציה: אם ModelState אינו תקין, מחזירים את אותו View כדי להציג את השגיאות.
4. בדיקה אם המשתמש קיים: יוצרים אובייקט מהביזנס לוגיק ובודקים אם שם המשתמש כבר תפוס. אם תפוס, מוצגת הודעה מתאימה.
5. רישום והתחברות: אם שם המשתמש פנוי, המשתמש נרשם ומיד מחובר באמצעות FormsAuthentication, בלי אפשרות "זכור אותי".
דף ההרשמה
הטופס דומה לטופס הלוגין, עם שדה אישור סיסמה וקישור להרשמה מדף הלוגין. ההרצאה מדגימה כניסה עם סיסמאות שונות, שמציגה את הודעת השגיאה, וכניסה עם סיסמאות זהות שמסיימת את ההרשמה.
המשתמש שנרשם מסתיים כך מחובר, ולכן ההרשמה והלוגין משתמשים באותו מנגנון.
בהמשך ההרצאה נראה איך מונעים מהמשתמש גישה לדפים שדורשים התחברות.
השיעור הבא בקורס: אבטחה - MVC Security - חלק 5
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: אבטחה - MVC Security - חלק 4

  1. 00:00

    ההבדל בין מודל Login למודל Register

  2. 00:48

    בניית RegisterModel כ-View Model

  3. 01:23

    שדה ConfirmPassword וולידציית Compare

  4. 02:24

    סקירת הוולידטורים Required ו-DataType

תמלול ההרצאה: אבטחה - MVC Security - חלק 4

הטקסט המלא של הדקות הראשונות בהרצאה «אבטחה - MVC Security - חלק 4» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:11

    כעת אנחנו הולכים לאפשר למשתמש לבצע רג'יסטר כמשתמש חדש. לצורך כך צריכה להיות לנו Action וצריך להיות לנו View וכמובן צריך להיות לנו מודל. אבל מה בדיוק המודל?

  2. 00:24

    האם המודל הוא אותו מודל כמו הלוגין? האם לרג'יסטר אנחנו צריכים Username שזה בטוח, Password, נכון, Remember me לא בטוח, אבל אנחנו צריכים עוד משהו, אנחנו צריכים Confirm Password ולכן יש לנו פה משהו שהוא טיפה שונה מהמודל המקורי וטיפה שונה מהלוגין

  3. 00:46

    מודל שבנינו לכן זה מצריך מאיתנו לבנות רג'יסטר מודל שזה view מודל מיוחד עבור רג'יסטריישן אז בואו נלך למודל אד קלאס נבנה רג'יסטר מודל ונגדיר ברג'יסטר מודל בדיוק מה אנחנו רוצים שיהיה עבור ה-view של הרג'יסטר בואו נעתיק את שני אלה כי הם די אותו הדבר נגדיר את המרחב השמות יש לנו את ה-user name יש לנו את

  4. 01:24

    הפסוורד נשכפל את הפסוורד ל-confirm password ואנחנו צריכים להגדיר עוד דבר אחד עבור ה-conferred password שזה איזשהו ולידציה איזושהי הוולידציה עבור compare אנחנו רוצים שה-confirm password וה-password יהיו זהים ולכן יש לנו פה ולידטור של compare דבר ראשון הוא

  5. 01:54

    אומר לנו לאיזה פרופרטי שאתם רוצים שאני אשווה את עצמי, וזה יהיה עבור ה-password. דבר שני, מה ה-error message?

  6. 02:05

    Error message, password and confirm password do not match. אוקיי, אז בואו נסתכל, יש לנו פה את ה-user name, יש לו required, יש לו data type, יש לו display, יש לנו את ה-password, required,

  7. 02:35

    יש לנו data type, ויש לנו display, וכמובן שיש לנו את ה-confirm password, שגם היא required, יש לנו פה את הדיספליי שאנחנו צריכים לשנות ל-confirm password ויש לנו עוד ולידטור עבור בעצם השוואת הפסוורד ל-confirm password.

  8. 03:00

    אחרי שבנינו את ה-view מודל המתאים אנחנו יכולים לחזור לקונטרולר האקאונט ולבנות עוד אקשן עבור הרג'יסטר.

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: אבטחה - MVC Security - חלק 3

ההרצאה הבאה: אבטחה - MVC Security - חלק 5

הרצאות קשורות מקורסים אחרים

  • הסבר על MVC
  • Security Groups - חלק 1
  • אבטחה עם VM Templates
  • מושגי יסוד ב-Security

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס Git ו-GitHub עם Visual Studio