Authentication in angular
-
משתמש צריך להיכנס עם שם משתמש וסיסמא ואז אנגולר צריך לזכור שבוצע אימות.
תהליך האימות בצד שרת מתבצע ע"י sails. ע"י זיהוי של העוגיות הנשלחות.
בעיקרון הייתי עושה את זה ע"י שמירת משתנה ב rootScope.
אבל האמת היא שלא תמיד המשתמש עובר דרך מסך האימות.
אם לדוגמא סגרתי את הדפדפן ופתחתי שוב, המשתמש עדיין מזוהה בשרת. אבל איך אנגולר ידע?
מהי הדרך הנכונה בזה? תודה! -
כשאתה פותח חזרה את הדפדפן הדף של האנגולר מתבקש, ואז נטענת האפליקציה.
בטעינת האפליקציה אתה שואב נותנים למשתמש הנוכחי עם בקשת http, ובאם אתה נענה בחיוב (כי מנגנון אימות הצד שרת של sails מוצא שהעוגיה תקפה לחשבון מחובר) אתה רושם לעצמך את העובדה שאתה מאומת. אם יש כישלון של 401, והדבר היחיד שמוצג לו זה מסך הכניסה. -
(להבהרת העניינים, מי שלא מכיר, ב sails אני יכול לגשת בכל request ל session. ולהצמיד לו אובייקטים כאוות נפשי. ואז לאחר שמשתמש עשה אימות, אני מצמיד לsession שלו IsAuthenticated או משהו כזה.)
-
@clickone אמר בAuthentication in angular:
@מנצפך לכאורה גם אם החלון נסגר הסשן ממשיך לחיות (עד שהוא מת
)
נכון. הוא ממשיך לחיות בצד שרת. היה משמע בדברי אחרת?
-
כשאתה פותח חזרה את הדפדפן הדף של האנגולר מתבקש, ואז נטענת האפליקציה.
בטעינת האפליקציה אתה שואב נותנים למשתמש הנוכחי עם בקשת http, ובאם אתה נענה בחיוב (כי מנגנון אימות הצד שרת של sails מוצא שהעוגיה תקפה לחשבון מחובר) אתה רושם לעצמך את העובדה שאתה מאומת. אם יש כישלון של 401, והדבר היחיד שמוצג לו זה מסך הכניסה.@dovid אמר בAuthentication in angular:
כשאתה פותח חזרה את הדפדפן הדף של האנגולר מתבקש, ואז נטענת האפליקציה.
בטעינת האפליקציה אתה שואב נותנים למשתמש הנוכחי עם בקשת http, ובאם אתה נענה בחיוב (כי מנגנון אימות הצד שרת של sails מוצא שהעוגיה תקפה לחשבון מחובר) אתה רושם לעצמך את העובדה שאתה מאומת. אם יש כישלון של 401, והדבר היחיד שמוצג לו זה מסך הכניסה.טוב. תיאורטית זה מובן ואפשרי.
השאלה איך לבצע בפועל. נניח שאני נמצא בניתוב של "localhost/user/createProfile", לעשות בקונטרולר שמשויך לו שישלח בדיקת אימות? משהו כמו: user/isAuthetnicated ? -
@dovid אמר בAuthentication in angular:
כשאתה פותח חזרה את הדפדפן הדף של האנגולר מתבקש, ואז נטענת האפליקציה.
בטעינת האפליקציה אתה שואב נותנים למשתמש הנוכחי עם בקשת http, ובאם אתה נענה בחיוב (כי מנגנון אימות הצד שרת של sails מוצא שהעוגיה תקפה לחשבון מחובר) אתה רושם לעצמך את העובדה שאתה מאומת. אם יש כישלון של 401, והדבר היחיד שמוצג לו זה מסך הכניסה.טוב. תיאורטית זה מובן ואפשרי.
השאלה איך לבצע בפועל. נניח שאני נמצא בניתוב של "localhost/user/createProfile", לעשות בקונטרולר שמשויך לו שישלח בדיקת אימות? משהו כמו: user/isAuthetnicated ? -
@מנצפך בלי קשר בכל בקשת HTTP אתה חייב לעשות בדיקת אימות + בדיקת הרשאות לדף המסויים. (כך לטעמי לפחות)
(תאר לך שמשתמש "רגיל" ינסה לגשת לעידכון פרופיל של משתמש אחר, בלי להיכנס כעת לדיון איך הוא יגיע לכתובת ההיא)@clickone וודאי. מסכים עמך. אבל לדוג', את העמוד הסטטי של עדכון הפרופיל, לא אכפת לי לספק לו. רק כשהוא ינסה לבצע את השאילתה בפועל, הוא ידחה. ואני רוצה שברגע שהוא פותח את האתר, יופיע לו מייד האם הוא מחובר או לא. (שיוצג שם המשתמש ולחילופין, אפשרויות כניסה.)
וזה נעשה כנראה כפי ש@dovid כתב. (זה DLT לשעבר?) -
@clickone וודאי. מסכים עמך. אבל לדוג', את העמוד הסטטי של עדכון הפרופיל, לא אכפת לי לספק לו. רק כשהוא ינסה לבצע את השאילתה בפועל, הוא ידחה. ואני רוצה שברגע שהוא פותח את האתר, יופיע לו מייד האם הוא מחובר או לא. (שיוצג שם המשתמש ולחילופין, אפשרויות כניסה.)
וזה נעשה כנראה כפי ש@dovid כתב. (זה DLT לשעבר?) -
@מנצפך בלי קשר בשיטה של אנגולר תרצה לבדוק כמה דברים עם טעינת נדף.
לדוגמא תרצה שלמעלה בצד יהיה כתוב ברוך הבא מוישי