PDA

View Full Version : سوال: مشکل در ساخت صفحه login و یک سوال؟



ARC
چهارشنبه 27 بهمن 1389, 02:37 صبح
با سلام
ممنون میشم در این مورد راهنماییم کنید.
من یک سایت طراحی کردم که بخش admin ساید در یک folder در مسیر root سایت هست 2تا web.config هم دارم یکی در پوشه اصلی سایت و یکی در مسیر پوشه admin که به این شکله:

پوشه admin:


<?xml version="1.0"?>

<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>


و پوشه root:



<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms name="BSAppCookie" loginUrl="AP-Sys/Default.aspx" path="AP-Sys" protection="All" timeout="30" defaultUrl="AP-Sys/APIndex.aspx" ></forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<location path="AP-Sys/Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="AP-Sys/Theme">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>


و در صفحع لوگین هم از کد زیر استفاده کردم


FormsAuthentication

.RedirectFromLoginPage(TextBoxUserName.Text, true);

مشکلی که هست اینه که زمانی که user و pass وارد میشه فقط صفحه login رفرش میشه و نه به page پیشفرض میره و نه page پیشفض رو باز می کنه مثل این که اصلا login نکردم میشه راهنمایی کنید؟
و اسم پوشه AP-Sys من AP-Sys و صفحه login: Default.aspx که در پوشه ادمین هست و اسم صفحه ای که بعد از login باید به اون صفحه منتقل شود APIndex.aspx هست که در پوشه AP-Sys هست.
و یک سوال دیگه این که تابع FormsAuthentication چطوری کار میکنه و روش کارش چیه؟

core166
چهارشنبه 27 بهمن 1389, 08:06 صبح
دوست عزیز در وب کانفیگ admin اینجوری بنویس


<authorization>
<allow roles="Administrator"></allow>
<deny users="*" />

</authorization>

Administrator نام نقش کاربر است

FirstLine
چهارشنبه 27 بهمن 1389, 08:29 صبح
با سلام
بعد از کد زیر

FormsAuthentication.RedirectFromLoginPage(TextBoxU serName.Text, true);
این کد را قرار بدهید:


response.redirect("/admin/default.aspx");

با تشکر

ARC
چهارشنبه 27 بهمن 1389, 13:13 عصر
از راهنمایی شما ممنونم ولی جناب core166 روشی که شما فرمودید زمانی کاربرد داره که من از role ها استفاده بشه ولی چون سایت بنده یک user بیشتر نداره پس من هم role برای این کار تعریف نکردم و فقطخواستم با user وارد بشه.
در مورد روش شما جناب FirstLine باید بگم تا جایی که اطلاع دارم خود کد FormsAuthentication.RedirectFromLoginPage باید به صورت پیشفرض بعد از login کاربر رو به صفحه مربوطه ببره و نیازی به کد response.redirect نباشه باید بگم که بعد از لوگین به صفحه مربوطه میره حتی بدون از کد response.redirect ولی بازم مثل زمانی که login نکردم باز به صفحه login منتقل داده میشم.

لطفا راهنمایی کنید.

ARC
جمعه 29 بهمن 1389, 00:20 صبح
لطفا یکی راهنمایی کنه.

javad_r_85
جمعه 29 بهمن 1389, 22:47 عصر
سلام مراحل زیر را دنبال کنید .

اولا لازم نیست در پوشه ادمین کانفیگ ایجاد کنید
در کانفیگ روت کدهای زیر را بنویسید





<authentication mode ="Forms">

<forms name ="myAppCookie" loginUrl="Login.aspx" timeout="30" protection="All" defaultUrl="~/Admin/MyAccount.aspx"></forms>

</authentication>
<authorization >

<deny users ="?"/>


</authorization>



بعد از تعیین هریت کاربر با استفاده از کد زیر به صفحه مورد نظر رجوع می شود




FormsAuthentication.RedirectFromLoginPage(c_ name, chkRemember.Checked );


با استفاده از کد زیر نیز نام آن را بدست اوردید




Response.Write( User.Identity.Name);

با استفاده از کد زیر نیز از سایت خارج شوید.




FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();




و اما برای صفحاتی مانند ثبت نام که نیاز به تعیین هویت نیست از کدهای زیر استفاده کنید.





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

</system.web>


</location>




البته این کدهای باید خارج از تگ </system.web> باشد

unishomal
جمعه 06 اسفند 1389, 23:05 عصر
با سلام
ممنون میشم در این مورد راهنماییم کنید.
من یک سایت طراحی کردم که بخش admin ساید در یک folder در مسیر root سایت هست 2تا web.config هم دارم یکی در پوشه اصلی سایت و یکی در مسیر پوشه admin که به این شکله:

پوشه admin:


<?xml version="1.0"?>

<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
و پوشه root:



<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms name="BSAppCookie" loginUrl="AP-Sys/Default.aspx" path="AP-Sys" protection="All" timeout="30" defaultUrl="AP-Sys/APIndex.aspx" ></forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<location path="AP-Sys/Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="AP-Sys/Theme">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
و در صفحع لوگین هم از کد زیر استفاده کردم


FormsAuthentication

.RedirectFromLoginPage(TextBoxUserName.Text, true);
مشکلی که هست اینه که زمانی که user و pass وارد میشه فقط صفحه login رفرش میشه و نه به page پیشفرض میره و نه page پیشفض رو باز می کنه مثل این که اصلا login نکردم میشه راهنمایی کنید؟
و اسم پوشه AP-Sys من AP-Sys و صفحه login: Default.aspx که در پوشه ادمین هست و اسم صفحه ای که بعد از login باید به اون صفحه منتقل شود APIndex.aspx هست که در پوشه AP-Sys هست.
و یک سوال دیگه این که تابع FormsAuthentication چطوری کار میکنه و روش کارش چیه؟


سلام دوست من،مشکلتون تو این پست حل شد؟

منم مشکله مشابه شمارو دارم...

unishomal
شنبه 07 اسفند 1389, 13:25 عصر
من همچنان این مشکلو دارم!لطفا راهنمایی کنید!

ARC
چهارشنبه 14 اردیبهشت 1390, 22:41 عصر
سلام
ببخشید که این تاپیک رو دوباره بالا میارم ولی مشکلم حل نشده بود ولی متوجه یک نکته شدم که من با مرورگر گوگل کروم 11 میتونم لاگین کنم ولی با IE 9 یا fire fox 4 و یا opera 11 لاگین نمیشه و فقط صفحه لاگین رفرش میشه. میدونید مشکل کجاست؟

shv3264
سه شنبه 20 اردیبهشت 1390, 16:56 عصر
سلام
شما لازم نیست برای صفحه APIndex هم دوباره AP-Sys رو بنویسید