User.Identity.IsAuthenticated

כנאפה

New member
User.Identity.IsAuthenticated

יש לי מסך אימות שניגש ל-WebService כדי לבדוק שהשם משתמש והסיסמא אכן נכונים. את הדף אימות בניתי ללא ה-LoginControl, אלא בניתי אותו לבד. איך אני בעצם יכול לנצל את מנגנון ההזדהות של Asp.Net במצב כזה? שאני בודק את השם משתמש והסיסמא מול WebService? מקווה שהייתי ברור
 
במה אתה כן משתמש?

אתה משתמש בForms authentication? אם כן את הבדיקה אתה יכול לעשות מול מי שאתה רוצה ואם המשתמש חוקי לכתוב את הCookie.
FormsAuthentication.SetAuthCookie("UserName",true);​
ואז אתה יכול לבדוק אם המשתמש כרגע רשום כמו שכתבת
User.Identity.IsAuthenticated​
או לקבל את השם שלו User.Identity.Name
 

Justin Angel

New member
../images/Emo45.gif קה פרובלמה מואי צ'יקיטה?

מסכים ומרחיב. ההבדל היחידי בין אימות מול מסד הנתונים, WebService או קובץ XML הוא בפועל שלב האימות שבו אנו בודקים במקור המידע שלנו את תקפות המשתמש שמנסה להתחבר. ואם הוא אומת נשתמש במחלקת FormsAuthentication בהתאם. אפשרות נוספת ונרחבת יותר בדוט נט 2.0 היא לבנות Membership Provider שמדבר מול Webservice שהוא בתורו מדבר מול מקור מידע עם Persistence כלשהו (מסד נתונים, קובץ וכך הלאה). בצורה פשוטה: תיצור מחלקה שיורשת מ-MembershipProvider ותממש תוכן רק למתודת ValidateUser. מתודת ה-ValidateUser יושבת על השרת ASP.Net שצריך לדבר עם ה-Webservice בשרת אחר. ובהתאם בתוך מתודת ValidateUser אתה תיגש ל-WebServiceProxy, תשלח בקשה לאימות נתונים ותחזיר את התוצאה. את המחלקה החדשה שלך שנקרא לה WebServicMembershipProvider נרשום בקובץ ה-web.config של ASP.Net 2.0. ועכשיו תוכל להשתמש במתודה הסטטית מכל מקום באפליקציה שלך שנקראת Membership.ValidateUser. ובעתיד אם תרצה לעבור לעבוד עם Login Control הוא כבר יאמת ישר מול ה-WebServicMembershipProvider החדש שלך. עוד על כתיבת Custom membership provider: Sample Membership Provider Implementation Web.config How to: Sample Membership Provider Implementation
 
למעלה