Javad.Kashi
شنبه 09 بهمن 1389, 22: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)سر بزنید.)
یا علی
با سلام و با کسب اجازه از برزگان سایت، تصمیم گرفتم که ان شاء الله مسئله سطح دسترسی در 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)سر بزنید.)
یا علی