PDA

View Full Version : مقاله: Authorization و Authentication در Asp.Net



Javad.Kashi
شنبه 09 بهمن 1389, 21:26 عصر
به نام خداوند بخشنده و مهربان
با سلام و با کسب اجازه از برزگان سایت، تصمیم گرفتم که ان شاء الله مسئله سطح دسترسی در asp.net را به صورت مفصل با کمک دوستان مورد بررسی قرار دهیم. از دوستان خواهش می کنم که حقیر را در این مقاله یاری دهند و اشکالات و خطاهای احتمالی بنده را گوشزد نمایند..بسیار سپاسگزارم.
-----------------------------------------------------------------------------------------
کنترل سطح دسترسی در Asp.Net به دو طریق امکان پذیر می باشد:
یک : ّFile Authorization
مشخص می کند که آیا کاربر اجازه دسترسی به فایل درخواستی را دارد یا خیر.
دو : Url Authorization
مشخص می کند که آیا کاربر اجازه دسترسی به Url و آدرسی را که درخواست کرده، دارد یا خیر. به وسیله url authorizaton شما به صراحت ، دسترسی کاربر را به یک دایرکتوری (یا همان فولدر)، به وسیله role و یا username مشخص می کند.

Url Authorization :
برای شروع ابتدا یک فولدر به نام Admins در روت سایت اینجاد کرده و یک web.config در داخل آن اضافه می کنیم.(فقط یادمان باشد که اسم را تغییر ندهیم.)

Admins(folder) --> add --> New Item --> Web Configuration File

سپس برای اینکه سطح دسترسی برای این دایرکتوری را مشخص کنیم،این کد را در web.config ای که ایجاد کرده ایم وارد می کنیم:


<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>


توضیحات:
allow : اجازه دسترسی دادن
deny : سلب دسترسی کردن
users and roles : همانطور که گفته شد، در Url Authenticatoin،سطح دسترسی به وسیله دو پارامتر roles و یا users تعیین می شود که وارد کردن این دو به چند صورت ممکن می باشد:
یک : وارد کردن علامت * که بیان گر تمامی افراد می شود.
مثال :

<allow users="*"/>یعنی اجازه دسترسی دادن به تمامی کاربران اعم از اینکه برای سیستم شناخته شده باشند و یا اینکه ناشناس باشند.
دو : وارد کردن علامت ؟ که بیان گر افراد ناشناس(Anonymous) می باشد
مثال :

<deny users="?"/>یعنی سلب دسترسی کردن از افرادی که سیستم آنها را ناشناس می داند.

دوستان لطفا سوالات و اطلاعات خود را در این زمینه در این تاپیک مطرح کنید تا همه استفاده کنند
(راستی دوستان اگر مایلید به نوشته بنده در باره Authentication نگاهی داشته باشید به این لینک (http://barnamenevis.org/showthread.php?273349)سر بزنید.)
یا علی

karim orooji
شنبه 04 تیر 1390, 22:44 عصر
سلام
عالی بود ولی ناقص

Javad.Kashi
شنبه 04 تیر 1390, 23:04 عصر
سلام
عالی بود ولی ناقص
سلام
خیلی خوشحال می شم که شما در تکمیل این مقاله به بنده کمک کنید.

karim orooji
یک شنبه 05 تیر 1390, 22:28 عصر
سلام
این دوتا لینک مربوط به آقای دلشاد هر
چند بعضی از جاهاش ناقصه
سیستم ورود و تشخیص هویت ساده (http://www.how2learnasp.net/article.aspx?code=41617f88-b91f-4787-8cce-3517eb1dbbfe)تشخیص هویت پیشرفته و مدیریت نقش ها (http://www.how2learnasp.net/article.aspx?code=85c9dd50-0935-48c2-9039-949da6b42f8d)

mirahsani
جمعه 07 مرداد 1390, 18:32 عصر
منمنون اما کاش کاملش می کردید. من که خیلی نیاز دارم :-(

Matin_Delphi
چهارشنبه 19 تیر 1392, 12:19 عصر
سلام
مشکل من اینه که میخوام چند فرم را Authenticate کنم یعنی فولدر های جداگانه دارم برای ورود admin و user هام اما به این شکل جواب نمیده ممنون میشم راهنمایی کنید

karimi84
شنبه 22 تیر 1392, 08:20 صبح
مطلب جالبی است من هم خیلی نیاز دارم ولی مشکل اصلی که من دارم و چندین بار هم مطرح کردم ولی متاسفانه جواب نگرفتم
صفحه login برای کاربرانی که join دامین است ندارن و براساس لاگین که به ویندوز شدهاند می بایست از اکتیو چک شود و ایمل شخص را انتخاب کند حال مشکلی که من دارم تنظیمات مربوط به iis چگونه باشد ؟
چگونه تشخیص بدم که کاربر join domin است یا نه؟
اگر ممکنه در مورد تنظیمات iis نیز صحبت بشه