מדריך ASP.NET – אבטחה: חיבור ל-Membership Provider

‏ • Sela

הדרישה מחלק גדול ממערכות 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

 ASPNET - שימוש ב-ASPNET_REGSQL

במסך השלישי נגדיר את השרת ואת שם בסיס הנתונים

ASPNET - הזנת Connection String

במסך הרביעי נראה את סיכום ההגדרות, במידה וההגדרות נכונות יש ללחוץ על Next

ASPNET - סיכום התקנת SQL

ולסיום במסך האחרון יש ללחוץ על 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 שנתנו על מנת להתחבר לבסיס הנתונים.

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

תגיות: , , , ,

IdoFlatow

יועץ ומרצה בקבוצת סלע לתחומי Web ו-Data. עוסק בתחומים Asp.Net, WCF, Silverlight, IIS ו-Entity Framework.כותב הקורס הרשמי של מיקרוסופט ל-WCF וכן שותף בכתיבת הספר ASP.NET Programmer's Reference (ISBN 978-0470505458)

תגובות בפייסבוק