PDA

View Full Version : سوال: مشكل اين authentication چيست ؟



merlin_vista
سه شنبه 31 اردیبهشت 1387, 13:05 عصر
آقا من ميخواهم تمام صفحات و پوشه ها اعتبار سنجي بشه به غير از يك صفحه و يك پوشه .
براي صفجه اينج.ر نوشتم كار نميده :گریه:


<location path="ForgetPassword.aspx">
<system.web>

<compilation debug="true">
</compilation>





<authentication mode="Forms">
<forms name="MYWEBAPPau" loginUrl="~/login.aspx" protection="All" path="/" defaultUrl="~/user/Default.aspx"/>
</authentication>


<authorization>
<deny users="?"/>
</authorization>

</system.web>
</location>

samane658
سه شنبه 31 اردیبهشت 1387, 14:12 عصر
اون پوشه هايي رو كه مي خواي اعتبار سنجي شه بايد مثل كد زير عمل كني، اگه درست فهميده باشم كه مي خواي چي كار كني.


<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
<allow users="boss"/>
</authorization>
</system.web>


</location>



اين كد پوشه admin رو فقط براي user: boss باز مي كنه.

merlin_vista
چهارشنبه 01 خرداد 1387, 11:13 صبح
ممنون .
من اينطور نوشتم :

<location path="user" >
<system.web>
<compilation debug="true">
</compilation>
<authentication mode="Forms">
<forms
name="mywebapp"
loginUrl="~/login.aspx"
protection="All"
path="/"
defaultUrl="~/user/Default.aspx">
</forms>
</authentication>
<authorization >
<allow users="*"/>
</authorization>
</system.web>
</location>

ولي اين پيغام را ميده . اعصابم خورد شده !

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

twelve
چهارشنبه 01 خرداد 1387, 11:27 صبح
این قسمت از وب کانفیگت مشکلی نداره شاید ، جای دیگه اشتباه جزیی داری ، حروف کوچیک و بزرگ ، بستن المنتا و ... خودت میدونی دیگه این وب کانفیگه!! :-&

merlin_vista
چهارشنبه 01 خرداد 1387, 11:48 صبح
نه مشكل 100 از authentication است :متفکر:
چون براي صفحاتي كه نياز به اعتبار سنجي داره اين خطا را ميده (تصوير خطا ضميمه شده است) :گریه:

twelve
چهارشنبه 01 خرداد 1387, 12:49 عصر
عجیبه! اصلا اشکالی توی سینتاکس یا اصول فنی نداره ...
گفتی این مشکل فقط واسه صفحاتی که نیاز به لاگین دارن پیش میاد ! اون صفحات رو چطور منحصر به لاگین کردی ؟ (page_load رو بذار ) ، از Membership استفاده کردی یا روش دیگه ....

merlin_vista
چهارشنبه 01 خرداد 1387, 13:10 عصر
نه عزيز اون صفحات را ريختم تو يه فلدر و بعد اون فلدر را همون جور كه تو وب كانفيگ ميبيني محدود كردم .

merlin_vista
پنج شنبه 02 خرداد 1387, 17:42 عصر
دوستان كسي نميدونه مشكل چيه ؟

twelve
پنج شنبه 02 خرداد 1387, 17:56 عصر
اون المنت <location> رو به صورت زیر بنویس ببین چی میشه :


<location path="~/user/">

من فکر میکنم هر مشکلی که هست از همین location ناشی میشه

twelve
شنبه 04 خرداد 1387, 15:58 عصر
سلام ، نمیدونم شما مشکلتون حل شد یا نه ، من خیلی ناگهانی متوجه این ایراد شدم ، و البته متوجه پاسخ های بی ربط این تاپیک :لبخند:
به هر حال بهتره این تاپیک به نتیجه برسه که راهنمای دیگر دوستان باشه.

شما گفتید که :


آقا من ميخواهم تمام صفحات و پوشه ها اعتبار سنجي بشه به غير از يك صفحه و يك پوشه .
خب ببینید شما اگر بخواین یک فایل (یا چند فایل با نام مشخص ) رو محدود به لاگین یا دسترسی آزاد کنید از طریق اضافه کردن یک سکشن <system.web> مجزا برای هر فایل این کار رو انجام بدین. به عنوان مثال در نمونه زیر در حالی که تمامی فایل های پروژه لازم به اعتبار سنجی هستند دو فایل مشخص Default05.aspx و Default06.aspx دسترسی آزاد دارند !! (این فایل Web.Config در ریشه سایت قرار دارد و در واقع کانفیگ اصلی است )


<location path="Default05.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

<location path="Default06.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>

</location>


<system.web>

<compilation debug="true"/>

<authentication mode="Forms">
<forms name="LoggedInCoockie" path="/" protection="All" loginUrl="~/Login.aspx" timeout="30"/>
</authentication>

<authorization>

<deny users="?"/>

</authorization>

</system.web>
اما اگر میخواین در مورد یک فولدر تصمیم گیری کنید ، یک فایل Web.Config به اون فولدر اضافه کنید و تنظیمات دلخواه خودتون رو برای تنها همون فولدر خاص انجام بدین به عنوان مثال اگر میخواین تمام فایل های موجود در اون فولدر رو دسترسی آزاد کنید کافی است در فایل کانفیگ جدید به صورت زیر عمل کنید.


<system.web>
<authorization>

<allow users="*"/>

</authorization>

</system.web>
به همین سادگی!! :لبخندساده:


سرافراز باشید .