PDA

View Full Version : سوال: ذخیره Username و Password در Login های مجدد



Milad_ATM
سه شنبه 06 اردیبهشت 1401, 11:18 صبح
با سلام

آیا راهی هست که با یک بار Login روی هر سیستم User و Password برای بارهای بعدی ذخیره بشه و کاربر نیاز به وارد کردن مجدد اونها نداشته باشه؟
معمولا یوزرهایی که از نرم افزار استفاده میکنند خیلی سریع باید کارشون انجام بشه و اینکه برای هر بار Login بخوان Username و Password وارد کنند خیلی معقول نیست.

نمونه فایل پیوست شده.
لطفاً اگر براتون مقدور بود روی فایل تست کنید

QC-Base-System.rar (https://www.uplooder.net/files/84722c492a6a9de9d054484ed545c008/QC-Base-System.rar.html)

توضیح : برای باز شدن سورس شیفت را در زمان باز شدن برنامه نگه دارید.
مرسی

mazoolagh
چهارشنبه 07 اردیبهشت 1401, 11:11 صبح
سلام و روز خوش
برنامه پیوست رو چک نکردم ولی گویا در خود برنامه کاربر تعریف کردین.
اگر اینجور هست که میتونین مثل هر دیتا دیگه اطلاعات کاربر authorize شده رو در جایی ذخیره کنین، میتونه خود دیتابیس باشه یا رجیستری یا یک فایل در آدرس مشخص و ...

ولی بهترین راه این هست که authentication رو به خود ویندوز بسپرین و امنیت رو به عهده خریدار/کاربر بگذارین.

Milad_ATM
چهارشنبه 07 اردیبهشت 1401, 11:48 صبح
اول ممنون از پیشنهادتون
و دوم خب نمونه انجام شده اینکار هست که بعنوان فایل کمکی استفاده کنم؟
ضمن اینکه در مورد جزییات توضیحی ندادین
لطف میکنید کمی بیشتر راهنمایی کنید

amirzazadeh
چهارشنبه 07 اردیبهشت 1401, 11:53 صبح
سلام
بهترین توصیه همون هست که جناب mazoolagh گفتند ولی برای وضعیت موجود از این کد میتونید استفاده بکنید:


Private Sub Command49_Click()


Dim TempLoginID
Dim sq As String
Dim rs As Recordset



If Len(Nz(Me!Text0, "")) = 0 Then
' Textbox UserName is empty
MsgBox "Please Enter Username ", vbInformation, "Provide Username"
Me.Text0.SetFocus
GoTo ExitPoint
End If
If Len(Nz(Me!Text3, "")) = 0 Then
' Password textbox is empty
MsgBox "Please Enter Password ", vbInformation, "Provide Password"
Me.Text3.SetFocus
GoTo ExitPoint
End If

sq = "select * from UserPass where UserName='" & Me.Text0 & "' and Password='" & Me.Text3 & "'"
Set rs = CurrentDb().OpenRecordset(sq, dbOpenForwardOnly, dbSeeChanges)
If rs.RecordCount = 0 Then
MsgBox ("Wrong Password. Try again!")
GoTo ExitPoint
Else
' TempVars!TempLoginID = Me.Text0
DoCmd.OpenForm "SelectOption", acNormal
DoCmd.Restore
End If
If Check53.Value = True Then
Dim Log, Pas, FormName As String
Log = Me.Text0
Pas = Me.Text3
FormName = "Login"

DoCmd.OpenForm FormName, acDesign, , , , acHidden
Forms(FormName)!Text0.DefaultValue = "'" & Log & "'"
Forms(FormName)!Text3.DefaultValue = "'" & Pas & "'"
DoCmd.Close acForm, FormName, acSaveYes
DoCmd.OpenForm FormName, acNormal, , , , acHidden
End If
ExitPoint:
Exit Sub

End Sub

Milad_ATM
پنج شنبه 08 اردیبهشت 1401, 07:20 صبح
چک باکس رو اضافه و کد رو تست کردم
اما هیچ تاثیری نداره
علت چی میتونه باشه؟

Milad_ATM
پنج شنبه 08 اردیبهشت 1401, 07:52 صبح
انجام شد
مرسی از توضیحاتتون
سوال دوم اینکه چطور میشه آخرین وضعیت چک باکس هم ذخیره بشه؟

amirzazadeh
شنبه 10 اردیبهشت 1401, 10:36 صبح
سلام از این کد استفاده کنید:

Private Sub Check53_Click()
Dim FormName As String
FormName = "Login"
Value1 = Forms(FormName)!Check53.Value
DoCmd.OpenForm FormName, acDesign, , , , acHidden
Forms(FormName)!Check53.DefaultValue = Value1
DoCmd.Close acForm, FormName, acSaveYes
MsgBox "Your Selection Saved!"
DoCmd.OpenForm FormName, acNormal, , , , acDialog
End Sub