דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. UserInRole מחזיר שקר אחרי הוספת Role. איך אוכפים אתו לבדוק שנית ולא להסתמך על הקאש שלו

UserInRole מחזיר שקר אחרי הוספת Role. איך אוכפים אתו לבדוק שנית ולא להסתמך על הקאש שלו

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 2 כותבים 559 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    כתב ב נערך לאחרונה על ידי
    #1

    פרוייקט asp mvc

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

    שאלתי את הרב גוגל, ומצאתי תשובה בסטאק
    קוד הפיתרון שם:

    private async Task SignInAsync(User user, bool isPersistent)
        {
            AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
            var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
            AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
        }
    

    בעצם הרעיון הוא להוציא ולהחזיר את המשתמש ברקע בלי שירגיש.

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

    אני מחפש רעיון או פיתרון יותר אלגנטי מאשר לכתוב פונקצייה משלי שתבדוק כל פעם ישירות מול הDB. (איזה קמצן אני בפניות לDB...)

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

    רעיונות?

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      לא נראה לי שיש פתרון.
      תוכל ליצור פילטר authorize משלך, ואז תוכל לעשות שהוא משתמש בקאש אבל בקשה ספציפית (למשל /refreshRols) תרענן אותו, ואז תוכל להריץ את כשתידע שהDB השתנה וממילא הפילטר ירשה.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        כעת חשבתי על רעיון נוסף, שתוכל לרשת מהautorize ומתי שהוא ידחה אותו, אז תבצע לוגאין מחדש, ותנסה שוב. צריך לבדוק את זה.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        clickoneC תגובה 1 תגובה אחרונה
        1
        • clickoneC מנותק
          clickoneC מנותק
          clickone
          השיב לdovid ב נערך לאחרונה על ידי
          #4

          @dovid השאלה אם זה יועיל גם מאפליקציה לאפליקצייה
          וגם לכאורה אז שוב עשיתי קריאה לDB. אז אני יכול לעשות מפורש קריאה לDB עם פונקצייה משלי. לא? (שוב, אני מתקמצן על הקריאה לDB.)
          תודה.
          אבדוק ואעדכן...

          אין טסט כמו פרודקשן.

          המייל שלי urivpn@gmail.com

          תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            זה יעבוד גם מאפליקציה לאחרת כי זה מרענן את העוגיה.
            זה יקרה רק במידה וההרשאה נדחתה - משתמש לא מורשה, אז זה ינסה להנכיס אותו מחדש תוך קריאה לDB.
            זה לא משהו שיקרה כל הזמן שמשתמש ייגש לאיזור שאין לו הרשאה.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            clickoneC תגובה 1 תגובה אחרונה
            1
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              השיב לdovid ב נערך לאחרונה על ידי
              #6

              @dovid מה שמלחיץ אותי זה המקרה ההפוך.
              שיש הרשאה למשתמש בסשן, ותכלס הסרתי לו את ההרשאה.

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              dovidD תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לclickone ב נערך לאחרונה על ידי
                #7

                @clickone אמר בUserInRole מחזיר שקר אחרי הוספת Role. איך אוכפים אתו לבדוק שנית ולא להסתמך על הקאש שלו:

                @dovid מה שמלחיץ אותי זה המקרה ההפוך.
                שיש הרשאה למשתמש בסשן, ותכלס הסרתי לו את ההרשאה.

                אז אתה חייב לכתוב פילטר משלך ולאותת לו על כל שינוי במסד.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0

                בא תתחבר לדף היומי!
                • התחברות

                • אין לך חשבון עדיין? הרשמה

                • התחברו או הירשמו כדי לחפש.
                • פוסט ראשון
                  פוסט אחרון
                0
                • דף הבית
                • קטגוריות
                • פוסטים אחרונים
                • משתמשים
                • חיפוש
                • חוקי הפורום