PDA

View Full Version : لود شدن page بعد از وارد کردن کلمه رمز؟



پیام حیاتی
دوشنبه 02 تیر 1393, 12:11 عصر
سلام
1.یک وب فرم ایجاد کردم ،می خواهم کاربر زمانی که page لود می شود ابتدا رمز عبور را وارد کند و بعد محتوای page نمایش داده شود.در page_load چی باید بنویسم؟

120411

2.برای نمایش messagebox در page از کلاس :
using System.Windows.Forms;
استفاده می کنند و بعد دستور messagebox ، اما من زمانی که این کلاس رو اضافه می کنم قسمت forms وجود نداره؟

120412

تشکر

aroshanzamir
دوشنبه 02 تیر 1393, 12:54 عصر
سلام دوست من :
اینجا بحث امنیت میاد وسط ....

بستگی داره از چه راهی کنترل کردی باشی

ولی به طور معمول می تونی با Session این کنترل را انجام بدی و سطح دسترسی تعین کنی ..


Session["user"] = "username ,. . . ";
if (Session["user"] != null)
{


}
else
Response.Redirect("Login");

hamid_0341
دوشنبه 02 تیر 1393, 12:56 عصر
ویرایش شد ........

پیام حیاتی
دوشنبه 02 تیر 1393, 16:48 عصر
در مورد seassion اطلاعاتی ندارم.

من الآن یک صفحه گالری دارم به نام Gallery.aspx که در هاست این آدرس نسبی page میشه :
http://namesite.com/Gallery.aspx
میخوام کاربر زمانی که به صورت مستقیم آدرس رو در مرورگر وارد کرد یا از طریق لینک های سایت به این page هدایت شد فرم وارد کردن رمز نمایش داده بشه بعد محتویات page به نمایش در بیاد.
صفحه لاگین درست کردم Set As Start Page رو هم براش اعمال کردم اما مشکل زمانی هست که کاربر آدرس page Gallery رو مستقیم وارد کنه،در این صورت دیگه فرم لاگین بهش نمایش داده نمیشه.

aroshanzamir
دوشنبه 02 تیر 1393, 17:38 عصر
نمونه را واست میزارم

aroshanzamir
دوشنبه 02 تیر 1393, 19:52 عصر
سلام دوست من :
به نظر من اینکار مشکل داره خودت می دونی ولی خوب با توجه به صحبت های شما :
در ضمن هر سایت بایسد یک صفحه به نام Default یا Index داشته باشه :
من دوتا صفحه دارم یکی Gallery.aspx و یکی هم Login.aspx
Default.aspx

<form id="form1" runat="server">
<div>


Gallery ...
در این قسمت گالری تصاویر باید باشد
</div>
</form>

کد سی شارپ این صفحه :

protected void Page_Load(object sender, EventArgs e)
{
if (Session["SecurityCode"] == null)
Response.Redirect("~/Login.aspx");
}


و در صفحه Login.aspx
css

.main {
width: 400px;
height: auto;
background-color: #000000;
margin: 50px auto;
}


.row {
width: 400px;
height: 35px;
line-height:2em;
text-align: center;
border-bottom: 1px solid #eee;
}


.field {
width: 200px;
height: 35px;
color:white;
float:left;
}

html

<form id="form1" runat="server">
<div>
<div class="main">
<div class="row">
<div class="field">
Security Code
</div>
<div class="field">
<asp:TextBox ID="txtCode" runat="server"></asp:TextBox>
</div>
</div>
<div class="row">
<div class="field">


</div>
<div class="field">
<asp:Button ID="submit" runat="server" Text="Submit" OnClick="submit_Click" />
</div>
</div>
</div>
</div>
</form>


کد سیشارپ این صفحه :

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
if (Session["SecurityCode"] != null)
Response.Redirect("~/Gallery.aspx");
}


protected void submit_Click(object sender, EventArgs e)
{
Session["SecurityCode"] = txtCode.Text;
Response.Redirect("~/Gallery.aspx");
}


موفق باشی

Ali.hitter
سه شنبه 03 تیر 1393, 02:55 صبح
سلام
1.یک وب فرم ایجاد کردم ،می خواهم کاربر زمانی که page لود می شود ابتدا رمز عبور را وارد کند و بعد محتوای page نمایش داده شود.در page_load چی باید بنویسم؟

120411

2.برای نمایش messagebox در page از کلاس :
using System.Windows.Forms;
استفاده می کنند و بعد دستور messagebox ، اما من زمانی که این کلاس رو اضافه می کنم قسمت forms وجود نداره؟

120412

تشکر

سلام دوست عزیز ؛
ابتدا باید تو قسمت refrence ها System.Windows.Forms رو اضافه کنی بعد اونو تو فضای اسمی اضافه کنی دلیل اینکه فضای اسمی تو inteliSense ظاهر نمیشه هم همینه چون شما فایل dll رو به refrence های پروژت اضافه نکردی

aroshanzamir
سه شنبه 03 تیر 1393, 10:24 صبح
سلام علی آقا :
مثل اینکه شما ویندوز و وب را اشتباه گرفتی ...

موفق باشی

Ali.hitter
سه شنبه 03 تیر 1393, 15:11 عصر
سلام علی آقا :
مثل اینکه شما ویندوز و وب را اشتباه گرفتی ...

موفق باشی

ایشون میخواست از MessageBoxاستفاده کنه که تو فضای اسمی System.Windows.Forms هست ولی dll رو تو غایل ها اضافه نکرده بود و مشکلش نبودن این فضای اسمی بود که بخاطر همین اضافه نکردن dll بود من هم اشتباهشون رو گفتم!

پیام حیاتی
چهارشنبه 04 تیر 1393, 18:25 عصر
سلام دوست عزیز ؛
ابتدا باید تو قسمت refrence ها System.Windows.Forms رو اضافه کنی بعد اونو تو فضای اسمی اضافه کنی دلیل اینکه فضای اسمی تو inteliSense ظاهر نمیشه هم همینه چون شما فایل dll رو به refrence های پروژت اضافه نکردی
تشکر
فضای اسمی و dll رو به چه شکل باید اضافه کنم؟

aroshanzamir
چهارشنبه 04 تیر 1393, 19:01 عصر
دوست خوب من :

MessageBox در وب نداریم باید خودت شبیه سازی را انجام بدی حالا یا با جی کوئری و یا هر چیزی دیگه ....
ولی خوب MessageBox مربوط به ویندوز میشه ... شما تا صبح بزن MessageBox.Show() ببین اصلا چنین چیزی داریم
.....
آقای پیام حیاتی مشکل شما چیه ؟
درست مطرح کنید ... MessageBox مربوط به ویندوز می شود نه وب


موفق باشی

پیام حیاتی
پنج شنبه 05 تیر 1393, 01:00 صبح
مشکلی ندارم عزیز
من کلیپی رو از youtube گرفتم که با اضافه کردن کلاس مطرح شده messagebox رو در پروژه وب نمایش داد.،اما در پروژه من این کلاس اعمال نشد به همین خاطر اینجا سوال کردم همین.
اینم لینکش :
http://www.youtube.com/watch?v=R5nRjniniTY

اگر نمیتونید ببینید باز کنید youtube رو بگید آپ کنم.

Ali.hitter
پنج شنبه 05 تیر 1393, 16:20 عصر
تشکر
فضای اسمی و dll رو به چه شکل باید اضافه کنم؟

در قسمت solution explorer ، روی refrences راست کلیک کنید و add refrence رو انتخاب کنید و بعد dll رو اضافه کنید و در قسمت فضای اسمی بنویسید using System.Windows.Forms;

پیام حیاتی
جمعه 06 تیر 1393, 00:12 صبح
در قسمت solution explorer ، روی refrences راست کلیک کنید و add refrence رو انتخاب کنید و بعد dll رو اضافه کنید و در قسمت فضای اسمی بنویسید using System.Windows.Forms;



دستت درست آقا علی دمت گرم درست شد MessageBox نمایش داد،دیگه فقط مربوط به ویندوز فرم نیست :چشمک: