PDA

View Full Version : یه سوال در مورد ورود و ثبت نام کاربر



white fox
سه شنبه 25 بهمن 1384, 08:33 صبح
سلام به دوستان عزیز...
امیدوارم سوالم تکراری نباشه...البته جستجو کردم اما چیزی پیدا نکردم...
هنگام Authenticate کردن کاربران در فایل Web.config خوب ما یه فرمی به عنوان فرم Login معرفی میکنیم....که هر کاربری که وارد سایت نشده بود فرستاده بشه به اون صفحه...
خوب حالا فرض کاربر دفعه اول اومده سایت باید ثبت نام کنه وقتی لینکی من میزارم که بره به صفحه ثبت نام نمیره میره دوباره به صفحه Login .....
خودم به فکرم رسید که یه فولدر درست کنم با یه Web.Config و اون صفحه رو تو اون فولدر بزارم..
اما در دایرکتیو Page از inherits صفحه ایراد میگیره....و میگه نمیشناسه..
میشه راهنمایی کنید...
اگر یه مثال بزاری که خیلی عالی میشه
با تشکر پیشاپیش

Behrouz_Rad
سه شنبه 25 بهمن 1384, 09:49 صبح
باید صفحه ی ثبت نام رو از صفحاتی که نیاز به تصدیق هویت دارند، مجزا کنید.
در فایل Web.Config


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

موفق باشید.

white fox
چهارشنبه 26 بهمن 1384, 21:08 عصر
ممنون آقای راد....
اما چرا وقتی میخوایم یه فایل web.config در ساب دایرکتوری درست کنیم دیگه صفحه رو به کل نمیشناسه و مدام اررور میده؟

صابر
شنبه 29 بهمن 1384, 02:05 صبح
بطور پیش‌فرض هر پروژه توی ASP.Net فقط یک web.config می‌تونه داشته باشه.
البته اگه اصرار دارین که چند web.config در sub folderهاتون داشته باشین با تغییراتی در machine.config امکان پذیر هست:
http://www.codeproject.com/aspnet/multipleWebConfig.asp

Clever86
یک شنبه 19 اردیبهشت 1389, 17:19 عصر
سلام
من میخوام یکسری صفحاتم قبل باز شدن احتیاج به login داشته باشن برای این کار اونارو توی یک فولدر جدا گذاشتم و یک web config جدا براش گذاشتم حالا در ادامه باید چی کار کنم ؟!؟!؟

Vahid_moghaddam
یک شنبه 19 اردیبهشت 1389, 18:00 عصر
چرا web.config جدا؟ فقط کافیه در web.config (در یک web.config) دسترسی رو برای کاربران login نکرده از صفحه ها یا فایل های مورد نظرتون ممنوع کنید. به شکل زیر:



<location path="muser.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>


location رو می تونید در web.config قبل از </configuration> قرار بدید.

Clever86
چهارشنبه 22 اردیبهشت 1389, 14:18 عصر
سلام مرسی
جواب نداد ! من میخوام برای پنل مدیریتم که شامل چندین صفحه است یک login بذارم ، برای همین 2 تا web.config گذاشتم ؟ کدی که توی config فولدر مدیریت گذاشتم اینه اما بازم error میده ؟!؟!

<authentication mode="Forms">
<forms loginUrl="~/Admin/login.aspx" timeout="20">
</forms>

</authentication>

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

</authorization>

Vahid_moghaddam
چهارشنبه 22 اردیبهشت 1389, 15:09 عصر
دلیل خاصی داره که از دو تا web.config استفاده کنید؟
فرض کنیم وب سایت شما رو بشه به دوقسمت مدیریت و معمولی تقسیم کرد و باز فرض کنیم قسمت معمولی نیاز به احراز هویت نداره.
شما به روشی که در پست های همین تاپیک گفته شد، به بخش های قسمت معمولی به کاربران احراز هویت نشده حق دسترسی بدید و برای بخش های مدیریت اونها رو برای احراز هویت به قسمت log in بفرستید.

Clever86
شنبه 25 اردیبهشت 1389, 10:35 صبح
ببخشید میشه بگید چه جوری ؟ من تو این زمینه تجربه ندارم . اون کدی هم که گفتین برای یک poge گذاشتم اما باز بدون login هم وارد شد ! اگه بخوام کلا به page های داخل یک پوشه دسترسی با login باشه چی ؟
در ضمن خیلی ممنون که سریع جواب میدین

Vahid_moghaddam
شنبه 25 اردیبهشت 1389, 10:46 صبح
ببخشید میشه بگید چه جوری ؟ من تو این زمینه تجربه ندارم . اون کدی هم که گفتین برای یک poge گذاشتم اما باز بدون login هم وارد شد ! اگه بخوام کلا به page های داخل یک پوشه دسترسی با login باشه چی ؟
در ضمن خیلی ممنون که سریع جواب میدین

این کد رو برای فولدر استفاده کنید. یه جایی اشتباه کردید که بدون login وارد می شه.


<location path="Secure">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>


کدیو که نوشتید و بدون login وارد شدید بذارید.

Vahid_moghaddam
شنبه 25 اردیبهشت 1389, 10:51 صبح
بخش location باید داخل بخش <configuration> باشه. برای راحتی location ها رو قبل از </configuration> قرار بدید.

شما توی یکی از پست ها تون اینطوری نوشتید:



<allow users="?"/>
<deny users="*"/>
این یعنی به کاربرهای ناشناس دسترسی دادید و به کاربرهای login کرده نه.

به این شکل بنویسید:


authentication mode="Forms">
<forms name="logincookie" loginUrl="...." timeout="20" defaultUrl="..."></forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>

Clever86
شنبه 25 اردیبهشت 1389, 12:42 عصر
location path="Admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

اگه فقط همین کد و بخواد پس از کجا میفهمه باید به چه فرمی برای login کردن redirect کنه ؟ این کد شما رو هم نوشتم اما بازم جواب نداد !

Vahid_moghaddam
شنبه 25 اردیبهشت 1389, 13:19 عصر
برای تعیین صفحه login و صفحه ای که در صورت نیاز کاربر بعد از login به اون هدایت بشه باید به صورت زیر عمل کنید:


<authentication mode="Forms">
<forms name="logincookie" loginUrl="login.aspx" timeout="20" defaultUrl="main.aspx"></forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
loginUrl صفحه login هست و defaultUrl صفحه ای که کاربر بعد از login به اون هدایت می شه.

Vahid_moghaddam
شنبه 25 اردیبهشت 1389, 13:33 عصر
اگه باز هم مشکل حل نشد، فایل web.config رو بذارید. ترجیحا upload کنید

Clever86
شنبه 25 اردیبهشت 1389, 15:11 عصر
از وقتی که گذاشتین ممنون بالاخره درست شد :لبخندساده:

hamed2661
یک شنبه 26 اردیبهشت 1389, 15:13 عصر
اگر ما 10 تا پيج داشته باشيم... كه مثلا براي 5 تاش نياز باشه كاربر لاگين كنه و واسه 5 تاش نياز نباشه دونه دونه بايد اسم صفحاتيو كه نياز به لوگين دارند و ندارند رو توي وب كانفيگ و لوكيشن مشخص كنيم؟

Peyman.Gh
یک شنبه 26 اردیبهشت 1389, 15:36 عصر
اگر ما 10 تا پيج داشته باشيم... كه مثلا براي 5 تاش نياز باشه كاربر لاگين كنه و واسه 5 تاش نياز نباشه دونه دونه بايد اسم صفحاتيو كه نياز به لوگين دارند و ندارند رو توي وب كانفيگ و لوكيشن مشخص كنيم؟

از Web Site Administration Tool استفاده کرده اید ؟!

Clever86
سه شنبه 28 اردیبهشت 1389, 11:41 صبح
اون صفحاتی که احتیاج به login دارند داخل یک فولدر قرار بدین و دسترسی به اون فولدر رو فقط برای کاربران login کرده بگذارید ، این کد رو داخل web.config پروژه قرار بدین :



<location path="Admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

Clever86
یک شنبه 13 تیر 1389, 14:19 عصر
سلام من 2 تا فولدر دارم که میخوام دسترسی به پیج های داخل هر کدوم به صورت جداگانه login بشه ، یعنی 2 تا فرم login دارم ، کد داخل web config باید چه جوری باشه ؟؟