PDA

View Full Version : سوال: authentication & authorization



peymannaji
دوشنبه 13 آبان 1387, 22:28 عصر
با سلام

بنده یک پروژه دارم داخل اون 2 عدد فولدر هست . و محتوای هر فولدر عبارت است از login.aspx و panel.aspx ...

حال به کمک Web Site Administration 2 عدد username‌ ایجاد کردم که یکی برای فولدر شماره 1 و دیگری برای فولدر شماره 2 است . و سپس با Create access rules (http://localhost:2719/asp.netwebadminfiles/security/permissions/createPermission.aspx) برای هر کدام از فولدر ها یک رول ایجاد کردم . که نتیجه اش این شد که تو هر فولدر یک فایل web.config ایجاد شد با محتوای زیر :



<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>


</configuration>



ولی یک مشکلی هست اینکه برای هر دو اینها یک authentication در web.config‌اصلی پروژه ایجاد میشه .در حالی که authentication برای هر کدام از این فولدرها متفاوت هست . برای حل این مشکل ( ایجاد authentication برای هر فولدر ) باید چکاری انجام بدم .؟

با تشکر

mahdi_farhani
سه شنبه 14 آبان 1387, 07:50 صبح
از Location استفاده کن

peymannaji
جمعه 17 آبان 1387, 20:29 عصر
سلام مهدی عزیز

من از location هم استفاده کزدم اما باز هم مشکل داره :

کد مربوط به location‌ها :



<location path="web1">
<system.web>
<authentication mode="Forms">
<forms cookieless="UseUri"
loginUrl="~/web1/Login.aspx"/>
</authentication>
</system.web>
</location>

<location path="web2">
<system.web>
<authentication mode="Forms">
<forms cookieless="UseUri"
loginUrl="~/web2/Login.aspx"/>
</authentication>
</system.web>
</location>



و ارور هایی که دیده میشه :



Warning : The 'requirePermission' attribute is not declared.
که تعدادش زیاد هست و مربوط میشه به سکشن های webconfig







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.



یک سری سرچ هم کردم که گفته بودن باید روی virtual dir مربوط به application یک سری کار انجام بدم . اما من که تو iis اصلا virtual dir که مربوط به پروژه ام باشه نساختم ... هر چی هست تو این آدرس هست :

C:\Documents and Settings\Peyman\My Documents\Visual Studio 2005

peymannaji
سه شنبه 21 آبان 1387, 20:18 عصر
دوستان کسی راه حل مشکل ما رو میدونه ؟

iman_ad
سه شنبه 21 آبان 1387, 21:45 عصر
شما باید اولا در iis یک virtual directory برای root سایتت تعریف کنی

mahdi_farhani
سه شنبه 21 آبان 1387, 22:46 عصر
اصلاً چرا میخواهی به دو صفحه متفاوت اشاره کنه، به یک صفحه Login ثابت اشاره کنه و اونجا تشخیص بده !!
دلیل این کارو من هنوز نفهمیدم که چرا باید به این شکل تعریف بشه

peymannaji
چهارشنبه 22 آبان 1387, 10:18 صبح
سلام مهدی جان واقعیتش اینه که ما 2 تا پروژه کوچیک داریم که هر کدوم 2-3 تا صفحه بیشتر نداره و برای 2 تا صفحه نریم دوباره host بگیریم ... و در قالب یک پروژه میخوایم آپلودش کنیم . فقط مشکل همون قضیه زیر هست

loginUrl="~/web2/Login.aspx"/



که هر کدوم از این پروژه ها loginurl خودشون رو داشته باشن با design متفاوت . البته الان 2 تا پروژه هست بعدا بیشتر میشه ... خوب فکر کنم قضیه شفاف تر شد ... میدونید من تاحالا با این روش کار نکردم و میخواستم دیگه از این به بعد از خود دات نت برای تصدیق هویت و این حرفا کمک بگیرم ... حالا با توجه به این صحبتها چیکار باید بکنم ؟

mahdi_farhani
چهارشنبه 22 آبان 1387, 15:23 عصر
ببین دوست عزیز شما بیا یک کار بکن خیال خودتو راحت کن ، این پروژه رو به صورت پرتالی بیار بالا
اول از همه تشخیص بده که این دومین چیه و باید چه صفحاتی و چه Skin لود بشه و بقیه کارها
........
تو فایل Global میتونی چک کنی که کدام دومین هست و چه کارهایی باید انجام بشه .
شما استارتشو بزن هرجاش مشکلی داشتی ما در خدمتیم