Windows Authentication در ASP.Net

شنبه 25 اردیبهشت 1395

در این مقاله نحوه ی کار کردن با windows authentication (احراز هویت در windows) را توضیح خواهیم داد. همچنین مراحل ایجاد windows authentication توضیح داده شده است.

Windows Authentication در ASP.Net

در این مقاله نحوه ی کار کردن با windows authentication (احراز هویت در windows)  را توضیح خواهیم داد. اما قبل از آن باید بدانیم که منظور از احراز هویت چیست؟

برای پاسخ به این سوال باید گفت " احراز هویت به معنی تایید و تصدیق هویت کاربران برای دسترسی به وب سایت/برنامه ی شما می باشد".

سوال بعدی این است که ASP.NET چگونه این کار را انجام میدهد؟ راههای متفاوتی برای انجام عملیات احراز هویت وجود دارد که عبارتند از :

1.بررسی هویت کاربران با استفاده از windows directory (Windows Authentication)

2.بررسی هویت کاربران با استفاده از Database (Forms Authentication _ اما نه در همه ی موارد )

3.بررسی هویت کاربران با استفاده از service provider مشترک (Passport Authentication)

Windows Authentication

ما در این مقاله تنها روش اول (Windows Authentication) را توضیح خواهیم داد. اما قبل وارد شدن به این مبحث، شما باید اطلاعاتی در مورد Windows directory داشته باشید. Windows directory چیست؟ بطور مثال  شما برای دسترسی به پرتال دانشجویی خود در یک سیستم دانشگاه نیاز دارید که نام کاربری و کلمه ی عبور خود را وارد کنید. اگر شما نام دیگری که در سیستم وجود ندارد را وارد کنید موفق به ورود در سیستم نخواهید شد. نحوه ی کار به ترتیب است که در سیستم دانشگاه معمولا اطلاعات هر دانشجو با آدرسی خاص مشخص میشود که با استفاده از آن سیستم به آن دسترسی پیدا میکند به این آدرس خاص  "windows directory" میگویند. برای مثال نام یک دانشجو "محمد" و کلمه ی عبور او نیز "محمد" است. این دانشجو برای ورود به سیستم باید حتما این نام و کلمه ی عبور را وارد کند.

اگر ما بخواهیم یک وب سایت طراحی کنیم که لازم است در آن اطلاعات دانشجویان وارد شود حتما از استفاده windows authentication استفاده خواهیم کرد به دلیل اینکه با استفاده از این روش هر دانشجو هنگامیکه وارد سیستم میشود با پنل کاربری خود وارد میشود (هنگامیکه دانشجو وارد سیستم میشود، نام کاربری و کلمه ی عبور خود را وارد میکند.)

برای ایجاد یک برنامه با استفاده از windows authentication باید مراحل زیر را طی کنید:

مرحله 1: ویژوال استودیو را باز کنید، سپس روی New Website کلیک کنید زبان مورد نظر خود C#/VB را انتخاب کنید ASP.NET Empty Web Site ایجاد کنید. برای نام برنامه "Sample_Windows_Auth" درج کنید. سپس روی دکمه ی “ok” کلیک کنید.

مرحله 2: با راست کلیک روی website و انتخاب گزینه ی Add -> Webform1.aspx یک وب فرم به برنامه ی خود اضافه کنید.

بعد از اضافه کردن WebForm1.aspx به برنامه این صفحه را بعنوان صفحه ی اول برنامه تنظیم میکنیم برای این کار روی صفحه ی WebForm1.aspx راست کلیک میکنیم و گزینه ی "Set as Start Page" را انتخاب میکنیم.

مرحله 3: فایل Web.Config را از  solution explorer انتخاب میکنیم و قطعه کد زیر را در ادامه ی  <System.Web> اضافه میکنیم.

1.	<authentication mode="Windows">   
2.	</authentication>  

مرحله 4: سرور IIS را باز میکنیم. به قسمت Run ویندوز خود بروید و کلمه ی integer را تایپ کنید.  قبل از این کار ابتدا اطمینان حاصل کنید که IIS روی کامپیوتر شما نصب شده است. اگر این برنامه نصب نیست به روش زیر میتوانید آن را نصب کنید. 

به control panel بروید Programs and Features را انتخاب کنید در این قسمت در گوشه ی سمت چپ گزینه ی Turn Windows Features On or Off را انتخاب کنید.

Internet Information Services را انتخاب کنید سپس World Wide Web انتخاب کنید و تمامی گزینه های این قسمت را تیک بزنید و در آخر بر روی دکمه ی "ok" کلیک کنید. در نهایت کامپیوتر خود را restart کنید.بعد از نصب IIS ، آن را باز کنید.

مرحله 5: بعد از باز کردن IIS server روی  Sites -> Default Web Site کلیک کنید و مانند تصویر زیر گزینه ی Add Application  را انتخاب کنید.

با انتخاب این گزینه یک پنجره ی pop up برای شما باز خواهد شد که مانند تصویر زیر اطلاعات مربوط به برنامه ی خود را در آن وارد میکنیم.

Alias: در این قسمت نامی را وارد میکنیم که برای کاربر معنی داشته باشد ، هر نامی میتوان انتخاب کرد و لزومی ندارد که حتما نام برنامه را در این قسمت وارد کرد.

Application Pool: در این قسمت باید app pool انتخاب شود که در ASP.NET Framework4.0 اجرا شود. اگر شما روی دکمه ی " select" کلیک کنید تنها یک گزینه با عنوان "DefaultAppPool," خواهید داشت. اگر میخواهید که یک pool جداگانه در برنامه خود داشته باشید باید روی قسمت "Sites" راست کلیک کنید و مانند تصویر زیر گزینه های آن را پر کنید.

حالا میتوانید از این pool در قسمت Application Pool استفاده کنید.

Physical Path: روی دکمه browse کلیک کنید و آدرس مکانی که برنامه را در آن ذخیره کرده اید را بدهید. و روی دکمه "ok" کلیک کنید.

مرحله 6: برنامه خود در IIS را انتخاب کنید ، در پنل سمت راست خود گزینه های متفاوتی را خواهید دید از بین آنها شما باید گزینه ی " Authentication" را انتخاب کنید. هنگامیکه روی Authentication دابل کلیک کنید. شما را به صفحه دیگری راهنمایی میکند که شامل گزینه هایی دیگری است و در آن تمامی authentication های دیگر در دسترس است.

به صورت پیش فرض "Anonymous Authentication" فعال است.

 در این مرحله باید "Anonymous Authentication" را غیرفعال کنیم و "Windows Authentication" را فعال کنید. و روی برنامه راست کلیک کنید و گزینه ی Manage Application و سپس Browse را انتخاب کنید.

حال مرورگر به همراه پنجره ی pop up باز خواهد شد.

در این قسمت شما باید نام کاربری windows و کلمه ی عبور خود را وارد می کنید. (اطلاعاتی که هنگام ورود به سیستم خود وارد میکنید.)

تمام مراحل و اطلاعات لازم برای ایجاد windows authentication به صورتی که گفته شد، میباشد. لطفا تمام مراحل را به همان صورتی که در بالا توضیح داده شد انجام دهید.

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید