الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار في ال login

مغلق
بدأه سمو في 1 أبريل 2007 · 9 رد · 884 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

أنا أستخدم Visual studio 2005 مع ms sql server 2005

هل يمكنني أن استخدم طريقة ال(login) الجاهزة وبما فيه من (sessions)

أم أنه لابد من استخدام sql server express

لأنني جربت استخدامها فلم تنجح معي .. فلا أدري أهناك إعدادات لابد لي من عملها حتى أتمكن من استخدامها

أتمنى ممن يعرف الإجابه أن يجيبني ...

#2

السؤال غير واضح با ريت تفسّر أكثر ...

بس بدي أعطيك الطريقة اللي كنت أستخدمها في الـ vs 2003 using ASP

وعذي الطريقة ممتازة وأيضاً تعطيك تشفير لكلمة السر والباسورد :

الخطوة الأولى :

أضف textbox للباسوور و واحد تاني لـ Username وسميهم زي ما هو واضح في الكود تحت وما تنسى تحط كبسة الـ Log In

الخطوة الثانية :

أضف Validation لكل واحد منهم علشان ما يقدر يكمل بدون ما يحطهم

الخطوة الثالثة :

أضف الـ classes التالية في بداية الصفحة :

Imports System.Data.SqlClient

Imports System.Security.Cryptography

Imports System.Text

الخطوة الرابعة :

ضع هذا الكود كامل في كبسة الـ Log In (وما تنسى تغير اسم الـ DataBase) وكمان الـ Tables

وحاول تفهمه لأنه بسيط وبستخدم أقوى نوع تشفير : MD5 -one direction وإذا صعب عليك شي إحكي

وهذا هو الإجراء بالكامل :

Protected Sub btmlogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btmlogin.Click

Dim name, pass As String

name = Textuser.Text

pass = TextPass.Text

Dim data As Byte()

data = UTF8Encoding.ASCII.GetBytes(pass)

Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider

md5.ComputeHash(data, 0, data.Length)

Dim ocon As New SqlConnection

Dim ocmd As New SqlCommand

Dim Dreader As SqlDataReader

ocon.ConnectionString = ConfigurationManager.ConnectionStrings("Blue_Chip_Mortgage_GroupConnectionString1").ToString

ocmd.Connection = ocon

ocmd.CommandType = System.Data.CommandType.Text

ocmd.CommandText = "select * FROM Admins WHERE user_name = '" & name & "' AND password = '" & pass & "'"

Try

ocon.Open()

Dreader = ocmd.ExecuteReader()

Dreader.Read()

If Dreader.HasRows Then

Session("name") = Textuser.Text

Session("pass") = TextPass.Text

Response.Redirect("admin_page.aspx")

Else

lblError.Visible = True

End If

Catch ex As Exception

Response.Write(ex.Message)

ocon.Close()

End Try

End Sub

rulesor7.gif
#3

جزاك الله خير على الرد ...

تتبعت الخطوات كما قلت لي لكن هذا الجزء من الكود لم أفهمه ... ولا أدري ماذا أضع في الكود لدي .. جربت عدة أشياء لكنه يبين أن هناك خطأ في هذا السطر

ocon.ConnectionString = ConfigurationManager.ConnectionStrings("Blue_Chip_Mortgage_GroupConnectionString1").ToString

أرجوا منك أن توضح لي ... أكن لك من الشاكرين ....

#4

الله يحيّك يا "سمو"

السطر اللي بتسأل عنه، هو المسؤول عن تحديد قاعدة البيانات التي سوف تنشأ اتصالك معها ...

وأنا كتبتلك اياه بطريقة أفضل من القديمة اللي كانت تستخدم في 2003

حتى تزبط معك هذي الطريقة اعمل التالي : -وهذه الطريقة أفضلك بكثير، وبتختصر عليك كودات -

الخطوة الأولى :

في نفس الفيجوال ستوديو وإنتا فاتح المشروع تاعك اذهب إلى

view ->server explorer

ثم انشأ اتصال جديد مع قاعدة البيانات تاعتك

الخطوة الثانية :

افتح قاعدة البيانات تاعتك من نفس النافذة وافتح أي جدول من الجداول

الخطوة الثالثة :

اضغط على أي جدول وقم بسحبه وافلاته على الصفحة التي تعمل عليها

الخطوة الرابعة:

اذهب إلى web.config

وابحث عن <connection string> وانسخ اسمه فقط <name>

الخطوة الخامسة :

الآن اذهب إلى الصفحة اللي شغلك فيها، وضع اسمها (الذي قمت بنسخه) مكان اسم قاعدة البيانات الذي أعطيتك اياه، ويصبح كالتالي :

ocon.ConnectionString = ConfigurationManager.ConnectionStrings("youre data base").ToString

الخطوة السادسة :

ادعيلي ....

وإذا ما كان واضح بعملك الخطوات بالصور ...

rulesor7.gif
#5

جزاك الله خير .... والله أنا عاجز عن شكرك ....

سويت زي ماقلت لي ... وضبط معي الحمدلله

لكن أبغى أسأل سؤال ... الله يعينك على أسئلتي ...

في حال إذا أدخل المستخدم ال username أو ال password خطأ

كيف أقدر ... أظهر رسالة الخطا هذي ... يعني فين أكتبها ...

والسؤال الآخر ... كيف أخلي الsession يبقى معي في جميع الصفحات اللي أبدخلها بعد ما سويت log in.. حتى الlog out

لك مني جزيل الشكر .......

#6

لا يا أستاذ "سمو" الله يخليك ... واجبك علينا ...

بالنسبة للسؤال الأول :

تستطيع أن تحل هذه المشكلة عن طريق إضافة Valedation (Required Field Validation) لكلاهما ...

السؤال الثاني :

إنتا مجرد ذكرت اسم الـ Session راح يظل معك في كل المشروع حتى تجعل قيمته فارغة ....

أي حاجة تانية إحنا في الخدامة .....حح

rulesor7.gif
#7

بالنسبة للسؤال الأول ... أقصد لو دخل المستخدم ال username , و الpassword بشكل مو موجود بالداتابيس

فين أضع رسالة الخطأ ... ؟

والسؤال الثاني :

أنا أبغى اسم المستخدم يظهر بالصفحة اللي ظهرت بعد ما ضغط على login ... يعني في صفحة admin_page.aspx

ويبقى معه باقي الصفحات اللي تلي هذي الصفحه

وهذا الشي راح ينتهي لما يضغط log out ... لكن مدري كيف أصلحها في كود ال log out ..

جزاك الله خيرا ...

#8

صباح الخير يا "سمو" ....

بالنسبة للسؤال الأول : موجود أصلاً بالكود اللي أعطيتك اياه أول رسالة، ضع label وخلي قيمة Visible = false واكتب فيه رسالة خطأ وضع الكود الموجود :

Else

lblError.Visible = True

End If

السؤال الثاني : برضو موجود في الكود اللي أعطيتك اياه :

Session("name") = Textuser.Text

Session("pass") = TextPass.Text

راح يخزن قيمة الباسورد واسم المستخدم اللي جابهم من قاعدة البيانات حقتك ...

صح صح يا "سمو" ... دعواتك

تم تعديل هذه المشاركة بواسطة abuehab في 5 أبريل 2007 في 10:58

rulesor7.gif
#9

الشكر الجزيل ... لك أخ abuehab ...

جعل الله ذلك في موازين حسناتك ...

#10

بالله صورتي حلوة ولا لأ ؟

rulesor7.gif

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…