PDA

View Full Version : باز شدن پیش فرض یکی از صفحات



آرام جان گل
دوشنبه 13 مرداد 1393, 13:24 عصر
باسلام
من دارم یه cms می نویسم . صفحاتی که مربوط به adminpanel هستند داخل یک فولدر بنام AdminPanel قرار دارند من می خوام زمانی که در نوار آدرس می نویسم
http://localhost:8264/WebSite/AdminPanel به طور خودکار صفحه لاگین را برایم بازکنه.
الان که این آدرس را می نویسم لیستی از صفحات داخل فولدر AdminPanel را برای من میاره.

اگر در داخل فولدر صفحه ای به نام Default.aspx داشته باشم با نوشتن آدرس http://localhost:8264/WebSite/AdminPanel خودش صفحه Default.aspx را باز می کنه اما اگر صفحه اولیه من به نام AdminDefault.aspx باشه دیگر صفحه را خودکار باز نمی کند و لیستی از صفحات داخل فولدر را نمایش می دهد.

ممنون راهنمایی کنید .

Mohammad_dn
دوشنبه 13 مرداد 1393, 13:47 عصر
اینو باید از داخل web.config تنظیم کنی

آرام جان گل
دوشنبه 13 مرداد 1393, 14:22 عصر
ممنون کاربر Mohammad_dn (http://barnamenevis.org/member.php?292342-Mohammad_dn)
اما نگفتید چطوری؟

Mohammad_dn
دوشنبه 13 مرداد 1393, 14:34 عصر
<system.webServer>
<directoryBrowse enabled="false"/>
<defaultDocument>
<files>
<clear/>
<add value="yourpage"/>
</files>
</defaultDocument>
</system.webServer>

Mousavmousab
دوشنبه 13 مرداد 1393, 21:20 عصر
<system.webServer>
<directoryBrowse enabled="false"/>
<defaultDocument>
<files>
<clear/>
<add value="yourpage"/>
</files>
</defaultDocument>
</system.webServer>



سلام

من این کار را کردم نشد.

WebConfig من به این صورت است.



<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<directoryBrowse enabled="false"/>
<defaultDocument>
<files>
<clear/>
<add value="WebForm1.aspx"/>
</files>
</defaultDocument>
</system.webServer>
</configuration>






من VS 2010 دارم.

kahe.mehrdad
دوشنبه 13 مرداد 1393, 21:44 عصر
دوست من بهترین راه اینه که شما درون فولد adminpanel خودتون یک فایل webconfig را add کنید. و بعدش تنظیمات زیر را روش انجام بدید:


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


اون علامت سوال به این معنیه که کاربر هایی که معتبر نیستند را ignore کن.

حالا باید یه تنظیمات کوچیک دیگه هم توی کد webconfig اصلی انجام بدید به این صورت :


<authentication mode="Forms" >
<forms loginUrl="Login.aspx" name="cookiename"></forms>
</authentication>



خوب تا اینجا شما به برنامه میگید که کابر هایی که از AdminPanel شوت شدنو کجا بفرسته؟

حالا میمونه یه کار کوچیک توی خود صفحه لاگینتون در قسمت codebehind باید کاری شبیه زیر را انجام بدید:


protected void Buttonlogin_Click(object sender, EventArgs e)
{
if (UsersUtility.ValidateLogin(username.Text, password.Text))
{


if (remember.Checked)
{
UsersUtility.SetCookie(username.Text);
}
else
{
// do other
}


Response.Redirect("~/AdminPanel/Default.aspx");
}

else
{
LabelError.Text = "نام کاربری یا رمز ورود اشتباه است";
}
}

Mohammad_dn
دوشنبه 13 مرداد 1393, 21:50 عصر
کاربر عزیز kahe.mehrdad (http://barnamenevis.org/member.php?191463-kahe-mehrdad) این بحثی که شما میفرمایید بحثی جدا هست...بحث شما بر میگرده به ورود به سایت و ثبت نام و ...(لینک آموزشش توی امضام هست)

کاربر گرامی Mousavmousab (http://barnamenevis.org/member.php?176004-Mousavmousab) . اون کدی که دادم کاملا درست هست .. دقت کنید که اگر صفحتون داخل پوشه ای هست ، آدرس پوشه هم بنویسید(آدرس دقیق فایل را ذکر کنید)

Mousavmousab
دوشنبه 13 مرداد 1393, 23:27 عصر
کاربر عزیز kahe.mehrdad (http://barnamenevis.org/member.php?191463-kahe-mehrdad) این بحثی که شما میفرمایید بحثی جدا هست...بحث شما بر میگرده به ورود به سایت و ثبت نام و ...(لینک آموزشش توی امضام هست)

کاربر گرامی Mousavmousab (http://barnamenevis.org/member.php?176004-Mousavmousab) . اون کدی که دادم کاملا درست هست .. دقت کنید که اگر صفحتون داخل پوشه ای هست ، آدرس پوشه هم بنویسید(آدرس دقیق فایل را ذکر کنید)


دوست عزیز من قبلاٌ این مورد را هم چک کردم.
برای اینکه مطمئن بشم اشتباه نمی کنم فایل را برای شما اینجا می زارم ، شما هم چک کنید.[VS 2010]

دانلود فایل (http://hoolity.com/WebCustomDefaultPage.zip)

mo.jalilian
سه شنبه 14 مرداد 1393, 01:38 صبح
یک راه حل الان به ذهنم رسید که فقط برای حل کردن موضوع به درد میخوره و فکر نکنم بهترین باشه
شما توی default.aspx میتونید مثلا یه فیلد session رو چک کنید اگر null بود بفرسیتیدش به اون صفحه ای که میخواید دیفالت باشه، اگر نبود همون صفحه نگهش دارید

راستی الان یادم افتاد که توی plesk یه جایی هست که چند تا فایل رو میتونید به ترتیب بگید دیفالت های سایتم این ها هستش، مثلا اول index.html و بعدش default.aspx

siamat
سه شنبه 14 مرداد 1393, 18:46 عصر
سلام
من جواب دوست عزیز kahe.mehrdad (http://barnamenevis.org/member.php?191463-kahe-mehrdad) رو بیشتر می پسندم به نظرم خیلی منطقی تره که توسط webconfig خود فولد رو ببندیم تا مشکل اول شما یعنی باز شدن لیست صفحات به وجود نیاد ولی می تونید با استفاده از session در صفحه login و چک کردن اون در مستر پیج صفحات پوشه ادمین تون جلوی باز کردن صفحات رو توسط کاربران غیر عضو می گیرید

Mohammad_dn
سه شنبه 14 مرداد 1393, 21:06 عصر
آقای Mousavmousab (http://barnamenevis.org/member.php?176004-Mousavmousab) کد درست هست..اما باید نکته ای رو بگم..این کد برای مواقعی هست که شما میخواید داخل یک پوشه صفحه ی پیشفرضتون default.aspx نباشه...نه برای مواقعی که میخواید پیشفرضتون از یه پوشه ی دیگه باشه..در چنین مواقعی باید یه صفحه ی default.aspx بسازید و از طریق اون ریدایرکت کنید به صفحه ی دلخواهتون.