מדריך ASP.NET – אבטחה: חיבור ל-Membership Provider
הדרישה מחלק גדול ממערכות Web בכלל, ומאפליקציות ASP.NET בפרט הוא שהן יהיו מאובטחות ויכללו הרשאות שונות למשתמשים שונים.
ניהול המשתמשים יכול להיות בתוך המערכת ויכול להיות מחוצה לה. במדריך זה נדגים כיצד ניתן להשתמש במודול ניהול המשתמשים של ASP.NET שנקרא גם ASP.NET Membership Provider.
שלב 1 – הגדרת בסיס הנתונים
המודול הזה שומר בבסיס נתונים את נתוני המשתמשים. על מנת להקים את בסיס הנתונים הזה יש להשתמש בתכנית aspnet_regsql.
ניתן להפעיל את התכנית מתוך תיקיית ה-Framework (מתוך C:\Windows\Microsoft.net\framework\v4.0.30319).
בהפעלת התכנית יפתח לנו אשף אשר יבקש מאיתנו את שם שרת ה – SQL ואת שם בסיס הנתונים.
המסך הראשון הוא מסך פתיחה, כל שיש לנו לעשות הוא ללחוץ על Next.
במסך השני נתבקש לבחור האם להגדיר בסיס נתונים על שרת SQL עבור Membership provider או להסיר, נבחר להגדיר ונלחץ על Next
במסך השלישי נגדיר את השרת ואת שם בסיס הנתונים
במסך הרביעי נראה את סיכום ההגדרות, במידה וההגדרות נכונות יש ללחוץ על Next
ולסיום במסך האחרון יש ללחוץ על Finish
שלב 2 – חיבור בסיס הנתונים לאפליקציה
ראשית נגדיר Connection string מתאים לבסיס הנתונים שזה עתה הוגדר. ה – Connection string יוגדר בתוך הקובץ web.config בתוך האלמנט <connectionStrings>
<connectionStrings>
<add
name="MembershipProviderDB"
connectionString="Data Source =.\sqlexpress;
initial catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
באותו הקובץ – בתוך <system.web> נגדיר את ה – Membership provider וכך הוא יראה:
<system.web>
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MembershipProviderDB"
applicationName="MyApplication"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
<compilation debug="true" targetFramework="4.0" />
</system.web>
שימו לב שהמאפיין– defaultProvider צריך להיות זהה לשם ה Provider והמאפיין connectionStringName של ה – Provider צריך להיות זהה לשם ה – Connection String שנתנו על מנת להתחבר לבסיס הנתונים.
כעת המערכת שלנו מחוברת לבסיס נתונים של ניהול משתמשים. כל הקוד של שליפה מבסיס הנתונים וכתיבה לשם נמצא כבר ואנחנו רק צריכים להפעילו.
תגובות בפייסבוק