ورود

View Full Version : ايجاد كردن log in به صورت دستي(Custom)



vahid.ch013
یک شنبه 17 مرداد 1389, 09:10 صبح
سلام.
براي اينكه بتونم يه log in به صورت دستي بنويسم چيكار بايد بكنم؟
نميخوام از ASP.NET Membership Provider استفاده كنم.ميخوام يه DB درست كنم كه يه Table به اسم user داره و از اون table بتونم log in كنم.
مرسي.

raziee
یک شنبه 17 مرداد 1389, 09:39 صبح
سلام.
براي اينكه بتونم يه log in به صورت دستي بنويسم چيكار بايد بكنم؟
نميخوام از ASP.NET Membership Provider استفاده كنم.ميخوام يه DB درست كنم كه يه Table به اسم user داره و از اون table بتونم log in كنم.
مرسي.

پیشنهاد میکنم این کار رو نکنید.
یعنی تا تسلط کافی رو سیستم تشخیص هویت پیدا نکردید خودتون ننویسید.
اما اگه هدف یادگیریتون هست نه استفاده در پروژه :
مقاله زیر رو بخونید
سیستم ورود و تشخیص هویت ساده (http://how2learnasp.net/article.aspx?code=41617f88-b91f-4787-8cce-3517eb1dbbfe)

vahid.ch013
یک شنبه 17 مرداد 1389, 10:00 صبح
پیشنهاد میکنم این کار رو نکنید.
یعنی تا تسلط کافی رو سیستم تشخیص هویت پیدا نکردید خودتون ننویسید.
اما اگه هدف یادگیریتون هست نه استفاده در پروژه :
مقاله زیر رو بخونید
سیستم ورود و تشخیص هویت ساده (http://how2learnASP.NET/article.aspx?code=41617f88-b91f-4787-8cce-3517eb1dbbfe)
من خودمن هم خيلي دوست دارم از MEMBERSHIP خود ASP.NET استفاده كنم.
اما modify كردن اونها كار سختيه.به عنوان مثال سايد بخوام چندتا از فيلدها رو نداشته باشم يا چند تا فيلد بهش اضافه كنم. آيا باز هم ميشه از اون استفاده كرد؟
ممنون از لينكتون.

raziee
یک شنبه 17 مرداد 1389, 10:18 صبح
اما modify كردن اونها كار سختيه.به عنوان مثال سايد بخوام چندتا از فيلدها رو نداشته باشم يا چند تا فيلد بهش اضافه كنم. آيا باز هم ميشه از اون استفاده كرد؟
منظورتون از اینکه نمیخواهید از بعضی فیلد هاش استفاده کنید متوجه نشدم. خوب استفاده نکنید.
اما برای توسعه:
چرا که نشه؟ خیلی هم راحت میشه این کار رو کرد.
شما میخواهید چه کاری بکنید بگید تا اون رو بررسی کنیم.
بیشترین سوالی که تو فروم شنیدم در مورد Profile ممبرشیپ بوده که خیلی ها بر این باورند که به خاطر ذخیره ی مقادیر به صورت سریال و بعد برای نمایش اون پردازش اضافی رو خواهیم داشت.
که فقط نیاز به ساختن یک جدول یگه به نام Profile هست.

vahid.ch013
یک شنبه 17 مرداد 1389, 11:41 صبح
منظورتون از اینکه نمیخواهید از بعضی فیلد هاش استفاده کنید متوجه نشدم. خوب استفاده نکنید.
اما برای توسعه:
چرا که نشه؟ خیلی هم راحت میشه این کار رو کرد.
شما میخواهید چه کاری بکنید بگید تا اون رو بررسی کنیم.
بیشترین سوالی که تو فروم شنیدم در مورد Profile ممبرشیپ بوده که خیلی ها بر این باورند که به خاطر ذخیره ی مقادیر به صورت سریال و بعد برای نمایش اون پردازش اضافی رو خواهیم داشت.
که فقط نیاز به ساختن یک جدول یگه به نام Profile هست.

خب اگه استفاده نكنم وجودشون چه فاييده اي داره؟
من ميخوام يه انجمن كوچيك درست كنم ،از چندجا برنامه ها رو گرفتم،بيشتر اونها هم از membership استفاده نكردن.
ممنون ميشم كمك كنيد.

reza_majid68
یک شنبه 17 مرداد 1389, 12:07 عصر
پیشنهاد میکنم این کار رو نکنید.
یعنی تا تسلط کافی رو سیستم تشخیص هویت پیدا نکردید خودتون ننویسید.
اما اگه هدف یادگیریتون هست نه استفاده در پروژه :
مقاله زیر رو بخونید
سیستم ورود و تشخیص هویت ساده (http://how2learnASP.NET/article.aspx?code=41617f88-b91f-4787-8cce-3517eb1dbbfe)

واسه چی استفاده نکنیم ؟
من هم واسه خودم login نوشتم . مشکلش چی هست مگه ؟

hosaini
دوشنبه 18 مرداد 1389, 16:41 عصر
کد لوگین
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strCon As String = System.Web.Configuration.WebConfigurationManager.C onnectionStrings("KarzarghanConnectionString").ConnectionString()
Dim SQL As String = "SELECT COUNT(*) AS cont FROM pass WHERE (stu = @user) AND (pass = @pas)"
Dim con As New Data.SqlClient.SqlConnection(strCon)
Dim cmd As New Data.SqlClient.SqlCommand(SQL, con)
Dim result As Integer
cmd.Parameters.AddWithValue("user", txtUserName.Text.ToLower)
cmd.Parameters.AddWithValue("pas", txtPassword.Text)
Using con
con.Open()
result = cmd.ExecuteScalar()
End Using

If result > 0 Then
' FormsAuthentication.SetAuthCookie(txtUserName.Text , True)
If txtUserName.Text = "admin" Then
Session("Role") = "karshenas"
Else
Session("Role") = "User"
End If

FormsAuthentication.RedirectFromLoginPage(txtUserN ame.Text, True)
Else
lblError.Text = "نام كاربري يا رمز عبور را اشتباه وارد كرده ايد"
End If
End Sub

raziee
دوشنبه 18 مرداد 1389, 17:47 عصر
خب اگه استفاده نكنم وجودشون چه فاييده اي داره؟
من ميخوام يه انجمن كوچيك درست كنم ،از چندجا برنامه ها رو گرفتم،بيشتر اونها هم از membership استفاده نكردن.
ممنون ميشم كمك كنيد.

ببینید اون معماری برای عموم طراحی شده.
حالا اگه شما میخواهید اون رو برای خودتون اختصاصی کنید.
به عنوان مثال نمیدونم چقدر در Dot Net Nuke (www.dotnetnuke.com) آشنایی دارید. این پورتال هسته مرکزی امنیت خودش رو بر همین ممبرشیپ دات نت گذاشته و اون رو توسعه داده.

vahid.ch013
دوشنبه 18 مرداد 1389, 19:26 عصر
ببینید اون معماری برای عموم طراحی شده.
حالا اگه شما میخواهید اون رو برای خودتون اختصاصی کنید.
به عنوان مثال نمیدونم چقدر در Dot Net Nuke (http://www.dotnetnuke.com) آشنایی دارید. این پورتال هسته مرکزی امنیت خودش رو بر همین ممبرشیپ دات نت گذاشته و اون رو توسعه داده.
ممنون از راهنماییتون.
بالخره تونست این کار رو بکنم.
اما یه مشکل دارم،وقتی که تو page جاری log in میکنم همنه چی به نظر خوب میرسه ،اما وقتی یه لینک دیه رو میزنم و باز میکنم log in نیست.
این هم کد log in button من.

protected void btn_login_Click(object sender, EventArgs e)
{

if (Page.IsValid)
{
FormsAuthentication.Initialize();
FormsAuthenticationTicket ft = new FormsAuthenticationTicket(1, txt_user.Text, DateTime.Now, DateTime.Now.AddMinutes(30), false, "", FormsAuthentication.FormsCookiePath);
Response.Cookies.Add(new HttpCookie (FormsAuthentication .FormsCookieName,FormsAuthentication.Encrypt(ft))) ;
Session["uid"] = txt_user.Text;
Response.Redirect("homepage.aspx");
}
}