PDA

View Full Version : چه جوري ميشه بگيم تا لاگين نكرده به صفحه مورد نظرمون نره



hamedkh16522
یک شنبه 23 خرداد 1389, 21:59 عصر
سلام دوستان كه ميخوان پاسخ بدن چون من تازه تو اين ترم vb.net ياد گرفتم اونم توي دانشگاه با اطلاعات ناقص لطفا پاسخ هاتون رو به صورت مبتدي بگيد.من يه صفحه دارم كه ميخوام تا لاگين نكرده به صفحه دسترسي پيدا نكنه و اگه آدرس صفحه رو تايپ كرد نره دوستان خيلي مبتدي بگيد فردا بايد پروژه وبو تحويل بدم و حتي طريقه لينك دادن رو هم بلد نيستم ممنون ميشم كامل بگيد.

nofilter
یک شنبه 23 خرداد 1389, 22:04 عصر
سلام
دوست عزیز برای این منظور شما باید کوکی ها رو کار کرده باشی(یه سرچ کنی خیلی مطلب پیدا میشه)
بعد از کوکی ها باید بری سراغ سشن ها و ....
خلاصه فکر نمی کنم بتونی یه شبه خودت کارتو راه بندازی(مخصوصا توی این انجمن)
ببخشید که جواب ها خیلی کلی بودن.

hamedkh16522
یک شنبه 23 خرداد 1389, 22:14 عصر
ممنون من با php كد نويسي كردم ولي محيط vb.net خيلي غريبس الان يه جوري گيج شدم چيكار كنم چون php كلا توي ريز شده ها خيلي فرق ميكنه و من مجبورم با vb.net پروژه رو تحويل بدم

shirin_sh1024
دوشنبه 24 خرداد 1389, 00:13 صبح
بستگی به روش لاگین کردن پروژتون داره
واسه لاگین کردن از چه روشی استفاده شده؟

hamedkh16522
دوشنبه 24 خرداد 1389, 00:15 صبح
هنوز نساختمش

shirin_sh1024
دوشنبه 24 خرداد 1389, 00:19 صبح
هنوز نساختمش

اگه از روش Forms Authentication استفاده کنی این چک کردن در حد 2 خط تنظیم در
وب کانفیگ پروژتونه.
لطفا در این موردی که گفتم یه سرچ کنید

hamedkh16522
دوشنبه 24 خرداد 1389, 00:22 صبح
بهم ميگي چه جوري لا گين بسازم و دسترسي رو تا لاگين نكرده محدود كنم اين برنامه كه ساختم هنوز چيزي نساختم

shirin_sh1024
دوشنبه 24 خرداد 1389, 00:32 صبح
آره ولی این موارد رو خودت باید سرچ کنی چون عجله داری برات توضیح میدم:
فرض کن یه فولدر root داری که صفحه لاگین هم توش قرار داره و یه قولدر user داری. تو فولدر root تو قسمت web config تو تگ <system.web> این کد رو قرار میدی:


<authenticationmode="Forms">
<forms name="formLogin"loginUrl="~/Login.aspx"defaultUrl="~/Default.aspx" timeout="129600"slidingExpiration="true">
</forms>
</authentication>

بعد تو code behind صفحه لاگین یعنی login.aspx.cx تو رویداد کلیک دکمه ورود کد زیر رو قرار میدی:


FormsAuthentication.RedirectFromLoginPage(txtUsern ame.Text, false);

البته اینو باید بعد از چک کردن username و password کاربر بزاری یعنی اگه کابر معتبر بود کد بالا اجرا بشه.

در آخرم به فولدر user یه آیتم وب کانفیگ اضافه میکنی و تو اون صفحه بین تگ
<system.web> اینو میزاری:


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

اون صفحه هایی که میخوای فقط کاربرای عضو شده ببینند رو هم در فولدر user قرار بده
خودت انجام بده اگه مشکل داشتی بگو
موفق باشی

hamedkh16522
دوشنبه 24 خرداد 1389, 00:38 صبح
مرسي ممنونم باشه

Peyman.Gh
دوشنبه 24 خرداد 1389, 01:22 صبح
از Web Site Administration Tool استفاده کنید.

shirin_sh1024
دوشنبه 24 خرداد 1389, 01:33 صبح
این پروژه ای که گذاشتی که فقط یه مستر پیج داره :متفکر: مطمئنی فردا قراره تحویلش بدی؟:متعجب::لبخند:
صفحه لاگین رو ساختم برات تنظیمات webconfig رو هم انجام دادم فقط شما طبق توضیحاتی که تو Login.aspx.vb گذاشتم معتبر بودن کاربر رو چک کن هر صفحه ای رو هم خواستی فقط کابرای لاگین شده ببینند در فولدر user قرار بده اینجوری اگه کاربری بخواد یکی از صفحه های فولدر user رو ببینه اگه لاگین شده باشه میتونه بهش دسترسی داشته باشه ولی در صورتیکه لاگین نشده نمیتونه و به جاش به صفحه لاگین هدایت میشه.

hamedkh16522
دوشنبه 24 خرداد 1389, 02:19 صبح
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As SqlConnection
con.ConnectionString = "Data Source=.;Initial Catalog=webpro;Integrated Security=True"
con.Open()
Dim com As New SqlCommand("select * from t_user where username=@userName", con)
com.Parameters.AddWithValue("@username", TextBox1.Text)
Dim dr As SqlDataReader
dr = com.ExecuteReader()
Dim q As Boolean
q = dr.HasRows
con.Close()
If (q) Then
MsgBox("توجه", MsgBoxStyle.OkOnly, "مقدار وارد شده تكراري است و بايد نام كاربري را متفاوت انتخاب نماييد")
Else
SqlDataSource1.Insert()
End If

End Sub
End Class
چرا اين con اولي رو خطا ميگيره؟

hamedkh16522
دوشنبه 24 خرداد 1389, 02:20 صبح
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As SqlConnection
con.ConnectionString = "Data Source=.;Initial Catalog=webpro;Integrated Security=True"
con.Open()
Dim com As New SqlCommand("select * from t_user where username=@userName", con)
com.Parameters.AddWithValue("@username", TextBox1.Text)
Dim dr As SqlDataReader
dr = com.ExecuteReader()
Dim q As Boolean
q = dr.HasRows
con.Close()
If (q) Then
MsgBox("توجه", MsgBoxStyle.OkOnly, "مقدار وارد شده تكراري است و بايد نام كاربري را متفاوت انتخاب نماييد")
Else
SqlDataSource1.Insert()
End If

End Sub
End Class
چرا اين con اولي رو خطا ميگيره؟

hamedkh16522
دوشنبه 24 خرداد 1389, 02:35 صبح
آقا دمت گرم مرسي

hashemi85sep
دوشنبه 24 خرداد 1389, 10:22 صبح
سلام دوست عزیز
شما این using system.data.sqlclient رو به صفحه اضافه کردی؟
احتمالا همین باشه..