S H A R E P O I N T C E N T E R

این آموزش به 4 بخش کلی تقسیم می شود:


قسمت اول : ایجاد بانک اطلاعاتی اعضا

اولین چیزی که برای پیکربندی FBA در شیرپوینت به آن احتیج دارید، جایی بردای نگهداری همه ی نام های کاربری و گذرواژه هاست. ASP.Net این امکان را در اختیار شما قرار میدهد تا این کار را انجام دهید.

به مسیر c:\windows\Microsoft.NET\Framework64\v4.0.30319\ بروید و طبق شکل فایل را اجرا کنید.

1

یک پنجره برای شما باز می شود. روی Next کلیک کنید.

2

“Configure SQL Server for application services" را انتخاب کنید و روی Next کلیک کنید.

3

 نام سرور و اطلاعات تأیید احراز هویت خود را وارد کنید. در این حالت SQL Server روی همان سرور شیرپوینت نصب می شود و به عنوان سرپرست وارد سیستم می شویم تا دسترسی کامل به SQL Server داشته باشیم ، بنابراین "Windows Authentication " را انتخاب می کنیم که پایگاه داده ای به نام "aspnetdb" ایجاد می کند.

4

پنجره ای برای تایید تنظیمات شما باز می شود. روی Next کلیک کنید.

5

یک پنجره "database has been created or modified" نمایش داده می شود. روی finish کلیک کنید.

6

اکنون که پایگاه داده ایجاد شده است ، باید به شیرپوینت برای خواندن و نوشتن در آن دسترسی بدهیم. ما قصد داریم با تأیید اعتبار ویندوز به بانک اطلاعاتی متصل شویم ، بنابراین می خواهیم دسترسی های لازم را به Service Account که برای اجرای SharePoint استفاده می شود بدهیم. ابتدا ، بگذارید Service Account را که برای اجرای SharePoint استفاده می شود بیابیم. IIS را باز کنید و به " Application Pools" بروید. به " Identity" ای که برای اجرای application pools های شیرپوینت استفاده می شود ، نگاهی بیندازید. در سرور تست ما، Administrator Account مورد استفاده قرار گرفت است ، اما احتمالاً در دستگاه شما متفاوت خواهد بود.

7

اکنون که می دانیم برای اجرای شیرپوینت از چه حسابی استفاده شده است ، می توانیم دسترسی های لازم را به بانک اطلاعاتی اعضا که ایجاد کردیم اختصاص دهیم. SQL Server Management Studio را باز کنید و به عنوان Administrator وارد شوید.

8

کاربری که شیرپوینت با آن اجرا شده است را پیدا کنید. با فرض اینکه این همان سرور پایگاه داده ای است که شیرپوینت روی آن نصب شده است، کاربر باید در آن وجود داشته باشد. پس روی آن کاربر کلیک راست کرده و روی "Properties" کلیک کنید.

9

به صفحه " User Mapping" بروید. چک باکس "Map" برای پایگاه داده aspnetdb را بزنید. با انتخاب پایگاه داده aspnetdb ، چک باکس "db_owner" را بزنید و روی OK کلیک کنید.

 10

 

 

قسمت دوم: ویرایش فایل های Web.Config

مورد بعدی که باید برای تایید اعتبار مبتنی بر فرم در شیرپوینت، انجام دهید ، تنظیم ارائه دهنده اعضا است. این کار به برنامه این امکان را می دهد تا در برابر بسیاری از روش های مختلف ذخیره اعتبارنامه کار کند. به عنوان مثال می توانید از LDAPMembershipProvider برای تأیید اعتبار در برابر Active Directory یا SQLMembershipProvider برای تأیید اعتبار در برابر پایگاه داده SQL Server استفاده کنید. برای این مثال ما از SQLMembershipProvider برای تأیید اعتبار در برابر پایگاه داده SQL Server استفاده می کنیم.

شیرپوینت در واقع به چندین web application تقسیم می شود. (Central Administration، Security Token Service و همه ی web applicationهای دیگری که ایجاد کنید ) هر یک از این web applicationها باید درباره ارائه دهنده اعضا بدانند. من در اینجا می خواهیم تنظیمات ارائه دهنده اعضا را مستقیماً به machine.config اضافه کنیم. با افزودن آن به machine.config ، پیکربندی توسط همه فایل های web.config موجود، به ارث می رسد - بنابراین شما فقط باید یک بار تغییرات را انجام دهید. یک web application جدید در شیرپوینت ایجاد کنید.

اگر به machine.config دسترسی ندارید ، یا ترجیح می دهید آن را ویرایش نکنید ، باید تمام این تغییرات را در فایل های web.config موارد زیر انجام دهید:

  • SharePoint Central Administration
  • SecurityTokenServiceApplication
  • هر web application که شما در شیرپوینت ایجاد می کنید و می خواهید از طریق FBA به آن دسترسی پیدا کنید.

توجه : در صورت داشتن سرویس های چندگانه ، این مراحل باید بر روی همه سرویس ها اعمال شود.

قبل از ویرایش هر web.config یک نسخه پشتیبان از آن ها تهیه کنید.

به مسیر “C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config” بروید و “machine.config” را باز کنید.

1

 در بخش <ConnectionString> خط زیر را اضافه کنید.

<add connectionString="Server=win-h472cerv001;Database=aspnetdb;Integrated Security=true" name="FBADB" />

حتماً در value ی سرور نام SQL Server خود را وارد کنید.

2

در بخش <membership> <providers> موارد زیر را اضافه کنید.

<add name="FBAMembershipProvider"
 type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 connectionStringName="FBADB"
 enablePasswordRetrieval="false"
 enablePasswordReset="true"
 requiresQuestionAndAnswer="false"
 applicationName="/"
 requiresUniqueEmail="true"
 passwordFormat="Hashed"
 maxInvalidPasswordAttempts="5"
 minRequiredPasswordLength="7"
 minRequiredNonalphanumericCharacters="1"
 passwordAttemptWindow="10"
 passwordStrengthRegularExpression="" />

با ویرایش هر یک از این گزینه ها می توانید تایید اعتبار را سفارشی کنید. مهمترین چیزی که باید به خاطر داشته باشید این است که اگر ارائه دهنده اعضا را در چندین مکان برای همان پایگاه داده تعریف کنید ، آنها باید همگی گزینه های یکسانی را استفاده کنند.

در اینجا توضیحی درباره گزینه های مختلف موجود آورده شده است:

ویژگی توضیحات
connectionStringName نام اتصال بانک اطلاعاتی به پایگاه داده aspnetdb.
enablePasswordRetrieval true/false. آیا این امکان هست که رمزعبور کاربر را بازیابی کرد. پیشنهاد می کنیم این مورد false تنظیم کنید.
enablePasswordReset true/false. آیا این امکان هست که کاربر رمز عبور خود را مجددا تنظیم کند. پیشنهاد می کنیم این مورد را درست تنظیم کنید.
requiresQuestionAndAnswer true/false. این که آیا حساب ها نیز دارای یک سؤال و پاسخ هستند که با آنها ارتباط دارد. پاسخ باید هنگام تنظیم مجدد رمز عبور ارائه شود. من پیشنهاد می کنم که این امر را falseتنظیم کنید ، زیرا true مانع از تنظیم مجدد رمزعبور کاربر می شود.
applicationName تنظیم نام برنامه به شما امکان می دهد تا یک بانک اطلاعاتی اعضا واحد را با چندین برنامه مختلف به اشتراک بگذارید و هرکدام دارای مجموعه مشخص کاربران خاص خود هستند. نام برنامه پیش فرض / است.
requiresUniqueEmail  .true/false تعیین می کند که چند کاربر می توانند یک آدرس ایمیل را به اشتراک بگذارند. پیشنهاد می کنم این مورد را false  تنظیم کنید.
passwordFormat

 Clear ،Hashed ، Encrypted .

Clear: گذرواژه در دیتابیس به عنوان متن ساده ذخیره می شود ، بنابراین هر کس با دسترسی به بانک اطلاعاتی می تواند رمز ورود کاربر را بخواند.

Encrypted : رمزعبور کاربر را رمزگذاری می کند ، بنابراین اگرچه رمز عبور در پایگاه داده قابل خواندن نیست ، اما هنوز هم می توان آن را رمزگشایی کرد و رمزعبور واقعی کاربر را بازیابی کرد.

hash یک رمز عبور یک طرفه را ذخیره می کند. هنگامی که یک کاربر رمز عبورش را وارد می کند ، رمز عبوری که وارد می کند نیز قسمت قسمت می شود و با مقدار رمز عبود قسمت قسمت شده ای که قبلا ذخیره شده است، مقایسه می گردد. با استفاده از این روش ، رمز عبور کاربر هرگز قابل بازیابی نیست و فقط قابلیت تنظیم مجدد دارد.

توصیه می کنیم از "hashed" استفاده کنید ، زیرا مطمئن ترین روش برای ذخیره رمزعبور کاربر است.

maxInvalidPasswordAttempts تعداد دفعاتی که کاربر می تواند یک رمز عبور اشتباه را وارد کند. پیش فرض آن 5 مرتبه است.
passwordAttemptWindow دقایقی که تعداد دفعات رمز عبور اشتباه را ریست می کند. پیش فرض آن 10 دقیقه  است.
minRequiredPasswordLength حداقل کارکترهای یک رمز عبور. پیش فرض آن 7 کارکتر است.
minRequiredNonalphanumericCharacters حداقل تعداد کاراکترهای غیر الفبایی مورد نیاز در رمز عبور. پیش فرض آن 1 کارکتر است.
passwordStrengthRegularExpression یک عبارت معمولی که می تواند برای اعتبار بخشیدن به پیچیدگی رمز عبور استفاده شود.

3

در بخش <roleManager> <providers> موارد زیر را اضافه کنید.

<add name="FBARoleProvider" connectionStringName="FBADB" applicationName="/"
 type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

پرونده machine.config را ذخیره کنید و ببندید.

4

من اشاره کردم که اگر دستگاه را تغییر دهید. باید پیکربندی را در یک مکان واحد قرار دهید. اما وب سرویس شیرپوینت بر machine.config غلبه می کند و ورودی های ما را ایجاد می کند. به همین دلیل ، اعضا نیز باید به SecurityTokenService اضافه شوند (لازم نیست آن ها را به central admin یا web.config برنامه های شیرپوینت اضافه کنید.)

شما باید به دنبال web.config برای SecurityTokenService بگردید. IIS را باز کنید. در سایت ها، بر روی SecurityTokenServiceApplication کلیک راست کنید و Explore را انتخاب کنید. در فولدری که باز می شود، web.config را ویرایش کنید.

5

موارد زیر را دقیقاً قبل از تگ </configuration> به web.config اضافه کنید:

<system.web>
 <membership>
 <providers>
 <add name="FBAMembershipProvider"
 type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 connectionStringName="FBADB"
 enablePasswordRetrieval="false"
 enablePasswordReset="true"
 requiresQuestionAndAnswer="false"
 applicationName="/"
 requiresUniqueEmail="true"
 passwordFormat="Hashed"
 maxInvalidPasswordAttempts="5"
 minRequiredPasswordLength="7"
 minRequiredNonalphanumericCharacters="1"
 passwordAttemptWindow="10"
 passwordStrengthRegularExpression="" />
 </providers>
 </membership>
<roleManager>
 <providers>
 <add name="FBARoleProvider" connectionStringName="FBADB" applicationName="/"
 type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 </providers>
 </roleManager>
 </system.web>

به یاد داشته باشید که همه گزینه ها را با آنچه در machine.config.Save وارد شده بود، مطابقت دهید و فایل را ببندید.

6

اکنون اعضا در شیرپوینت تنظیم شده اند. برای پیکربندی شیرپوینت برای استفاده از ارائه دهنده اعضایی که ما تنظیم کرده ایم ، قسمت 3 را مطالعه کنید.

 

قسمت سوم: پیکربندی شیرپوینت

اکنون که اعضا و ارائه دهنده وظیفه پیکربندی شده اند ، می توانیم شیرپوینت را برای استفاده از آنها پیکربندی کنیم. برای این مثال می خواهیم یک web application موجود را برای استفاده از تایید اعتبار مبتنی بر فرم ویرایش کنیم. همین تنظیمات را می توان هنگام ایجاد یک web application جدید اعمال کرد.

Central Administration شیرپوینت را باز کنید و سپس به Application Management و سپس Manage Web Application بروید.

web application مورد نظر را برای ویرایش انتخاب کنید و روی " Authentication providers " کلیک کنید.

1

منطقه ارائه دهنده تأیید اعتبار را که می خواهید ویرایش کنید ، انتخاب کنید. در این حالت من فقط یک منطقه تنظیم واحد دارم: "Default". در صورت تمایل می توانید با گسترش web application ، چندین منطقه را اضافه کنید. این امر به شما امکان می دهد بسته به آدرس مورد استفاده برای دستیابی به آن ، انواع مختلفی از تأیید اعتبار را به همان web application اختصاص دهید. به عنوان مثال اگر کاربران با استفاده از نام سرور محلی به برنامه وب ضربه بزنند ، می تواند با تأیید اعتبار ویندوز آنها را تأیید کند. اگر آنها از طریق نام دامنه خارجی به آن دسترسی پیدا کنند ، می توانید آن را با FBA تأیید کنید.

2

چک باکس" Enable Forms Based Authentication (FBA) " را بزنید. نام ارائه دهنده اعضا ASP.Net و نام ارائه دهنده وظیفه ASP.NET را که در وب پیکربندی کرده اید وارد کنید. برای این مثال ما از "FBAMembershipProvider" و "FBARoleProvider" (بدون علامت نقل قول) استفاده کردیم. در این حالت ، چک باکس" Enable Windows Authentication" را میزنیم. این به ما اجازه می دهد تا از طریق تأیید اعتبار ویندوز یا تأیید اعتبار بر اساس فرم ها وارد سیستم شویم (وقتی وارد شیرپوینت می شوید از شما سوال می شود که می خواهید از کدام روش استفاده کنید)

بر روی "Save" کلیک کنید.

3

بنابراین اگر شما هم تایید اعتبار مبتنی بر فرم و هم تایید اعتبار ویندوز را فعال کرده باشید از شما سوال می شود که کدام یک را انتخاب می کنید.

4

 

در حال حاضر ، شما هنوز نمی توانید با تأیید اعتبار مبتنی بر فرم ، تأیید اعتبار کنید ، زیرا هیچ کاربری را در پایگاه داده اعضا ایجاد نکرده ایم. در قسمت 4 نحوه استفاده از FBA Pack را برای اضافه کردن کاربران به پایگاه داده اعضا به شما نشان خواهیم داد.

 

قسمت چهارم: افزودن کاربران به پایگاه داده اعضا

در این مرحله شیرپوینت برای تأیید اعتبار مبتنی بر فرم ها کاملاً تنظیم شده است ولی متأسفانه هنوز افراد نمی توانند با FBA وارد سیستم شوند ، زیرا هیچ کاربری به پایگاه داده اعضا اضافه نشده است.

چند روش برای اضافه کردن کاربران به پایگاه داده اعضا وجود دارد. شما می توانید با استفاده از IIS ، کاربران را در پایگاه داده اعضا مدیریت کنید. در اینجا ترجیح می دهیم کاربران را در شیرپوینت با استفاده از SharePoint FBA Pack مدیریت کنیم وقصد دارم نحوه نصب FBA Pack و استفاده از آن را برای اضافه کردن کاربران به پایگاه داده اعضا به شما نشان دهم.

می توانید دانلود و اسناد مربوط به SharePoint 2016 FBA Pack را در https://www.visigo.com/products/sharepoint-fba-pack پیدا کنید.

FBA Pack را دانلود کنید و آنرا در پوشه ای از هارد خود unzip کنید. برای این مثال فایل ها را در درایو c قرار دادیم.

1

PowerShell یا SharePoint Management Shell را باز کنید و طبق شکل عمل کنید.

2

“.\deploy http:\\win-h472cerv00l” را اجرا کنید.

توجه داشته باشید که می توانید " .\deploy " را نیز بدون هیچ گونه پارامتر اجرا کنید - در این صورت مجبورید ویژگی " Forms Based Authentication Management " را در هر مجموعه سایت که مایل به استفاده از آن هستید فعال کنید.

3

اسکریپت، FBA Pack را در SharePoint farm مستقر کرده و آن را در مجموعه سایت شما فعال می کند.

توجه داشته باشید که اگر خطایی رخ داد و اسکریپت ها اجرا نشد ، باید دستور زیر را اجرا کنید: "Set-ExceptionPolicy Unrestrict". و دوباره اسکریپت را امتحان کنید.

به مجموعه سایت خود بروید و به عنوان administrator مجموعه سایت وارد شوید. به صفحه تنظیمات سایت بروید. خواهید دید که اکنون گزینه های جدیدی برای مدیریت کاربران FBA دارید.

 4

“FBA User Management” را انتخاب کنید.

5

“New User” را بزنید.

6

برای ایجاد اولین کاربر خود در پایگاه داده FBA، فرم را پر کنید. حتماً آنها را در یک گروه شیرپوینت قرار دهید تا اجازه ورود به سیستم در شیرپوینت را داشته باشند.

اکنون می توانید به عنوان کاربری که تازه ایجاد کرده اید وارد شوید. هنگام ورود به سیستم در شیرپوینت ، با استفاده از تأیید اعتبار مبتنی بر فرم و نام کاربری و رمز عبوری که در صفحه مدیریت FBA ایجاد کرده اید، وارد شوید.

پیکربندی تایید اعتبار مبتنی بر فرم در SharePoint 2016 و SharePoint 2019

مطالب مرتبط

ارسال دیدگاه

آخرین نوشته ها