PDA

View Full Version : آموزش: ساخت کاربر جدید برای لاگین شدن همراه با محدودیت



moory1364
جمعه 18 فروردین 1391, 00:10 صبح
با عرض سلام و ادب خدمت مدیران و کاربرن عزیز
سورسی برای برای نمونه کار من وجود داره که کاربر جدید تعریف کنیم و محدودیت دسترسی به فرم ها کلید ها و بخش های دلخواه انجام بدیم
برای C#‎ چند نمونه کار پیدا کردم اما کامل چیزی دستگیرم نشد
تشکر می کنم کمی در این ضمینه به من کمک کنید

aminghaderi
جمعه 18 فروردین 1391, 00:27 صبح
سوری برای حاضزی:گیج:
حالا این رو می شه فهمید :
کمی در این ضمینه به من شود:=>کمکی در این ضمنه به من شود.

Hybrid
جمعه 18 فروردین 1391, 00:48 صبح
با عرض سلام و ادب خدمت مدیران و کاربرن عزیز
سوری برای حاضزی برای نموه کار من وجود داره که کاربر جدید تعریف کنیم و محدودیت دسترسی به فرم ها کلید ها و بخش های دلخواه انجام بدیم
برای C#‎ چند نموه کار پیدا کردم اما کامل چیزی دستگیرم نشد
تشکر می کنم کمی در این ضمینه به من شود

سلام ،

1 ) خیلی تاپیکت تکراری هست خودم حدودا 6 موردی رو دیدم که داخل همین فروم بحث شده.

حالت کلیش رو میگم خودتون برین کدش رو بنویسین : شما یک جدول در بانک نیاز دارین که 3 تا ستون داشته باشه ،

ستون اول ) username رو داخلش ذخیره میکنین.

ستون دوم ) Password رو داخلش ذخیره میکنین.

ستون سوم ) سطح دسترسی رو داخلش ذخیره میکنین.مثلا Admin یا user .

حالا داخل برنامه یکی میاد مینویسه مثلا سیاوش شما میرین داخل بانک جستجو میکنین که اصلا نامی به نام سیاوش هست یا نه مثلا هست خوب حالا میاین چک میکنین که آیا پسوردی که وارد کرده با پسوردی که در بانک ذخیره شده یکی هست یا نه ، به فرض اینم درسته ، حالا چک میکنین که سطح دسترسی این کاربر چیه آیا Admin هست یا User به فرض user ه.

حالا با استفاده از خصوصیات Enabled یا Visible اشیا میاین دسترسی به جاهای مختلف برنامه رو محدود میکنین.

داخل همین فروم زیاد بحث شده میتونین پیداشون کنید.

موفق باشید./

moory1364
جمعه 18 فروردین 1391, 01:16 صبح
متسفانه از سرچ سایت چیز به درد بخور دستگیرم نشد که تاپیک جدید باز کردم
تیبل رو ساختم لاگین روهم طراحی کردم درست عمل میکنه مشکل اصلی من اینه می خوام در برنامه به کاربری که با نام کاربریش وارد شده خوش آمد گویی کنه
دسترسی ها رو با این سورس حل کردم
با تشکر از alimanam (http://barnamenevis.org/member.php?43498-alimanam) عزیز

aminghaderi
جمعه 18 فروردین 1391, 09:00 صبح
حالت کلیش رو میگم خودتون برین کدش رو بنویسینببینید دوستان طراحی سیستم لوگین چیز ساده ای نیست ، و این همیشه خاطرمون باشه.
شما از چه چیزی برای احراز هویت کمک می گیرید ؟؟؟ از سشن ؟؟ یا کوکی ؟؟؟
به چه صورت؟؟
به نظر شما روش شما امن هست یا به نظر حد اقل یه تعداد مهندس با تجربه ؟؟؟

من نمی گم که شما یا بنده یا بقیه دوستان توانایی شبیه سازی چنین سیستم هایی رو نداریم ولی می گم باید قبلش مطالعات زیادی داشته باشیم و این نوع سیستم ها رو تقریبا درک کرده باشیم و حداقل مکانیزم مبر شیپ دات نت رو تا حدی بلد باشیم و راه های نفوز رو هم به همین شکل و یه موضوع مهمتر چم و خم دات نت تا به مشکل نخوریم؟!
برای مثال ما باید این رو حد اقل بدونیم که session ها پایدار نیستند و زمان اونها دست مدیریت هاستینگ هست و بالای 20 دقیقه نمی شه حافظه رو نگه داشت .
و یا اینکه کوکی ها قابل سرقت هستند و حتی هنوز هم بعضی ها مردد هستند که با استفاده از متدد http برای کوکی ها می شود اونها رو از دست هکر ها نجات داد.
و اینکه آیا توانایی ساخت شناسه ای منحصر به فرد رو مثل دات نت داریم یا خیر.

چیزی که من هم سالها مثل شما شاهدش هستم یه بی نظمی خاص و منحصر به فرد در تالار برنامه نویس که کاربران رو مجبور می کنه مباحث تکراری رو مجدد مورد بررسی قرار بدهند وگر نه من هم با صحبت شما موافقم که درباره این بحث به کرات صحبت شده و به نتیجه های خوبی هم رسیده شده.
-------------------------------------------------
یه مورد که یادم رفت :

تشکر می کنم کمی در این ضمینه به من کمک کنید
من پیشنها می دم شما از خود ممبر شیپ دات نت (membership) استفاده کنید و برای آموزش هم ، هم داخل این سایت می تونید یه سری مطالب پیدا کنید و هم داخل کتاب های مرجع Asp.net که بیرون موجود هست.
اما اگر زبان انگلیسی تسلط دارید که یه سرچ بزنید کتوب مراجع رایگان به زبان اصلی زیاد هست و در اکثرشون هم مفصل توضیح داده شده و البته یه دنیا اطلاعات بروی سایت ها و فروم های زبان اصلی.

moory1364
جمعه 18 فروردین 1391, 11:16 صبح
دوستان من 4 تیبل دارم
1.user نام کاربری
2. Pass پسورد
3. usertype سطح دسترسی با عدد پر شده
4. نام و نام خانوادگی

لاگین شدن من درست انجام میشه طبق یوزهای که داخل دیتابس است انجام شد
مشکل : چطوری سلول مربوط به یوزی که که لاگین شده رو مقدار دسترسیش و یا نام ونام خانوادگیش رو داخل ی متغییر بریزم تا در فرم بعدیم استفاده کنم

connection.ConnectionString = ("Data Source=" & My.Computer.Name & ";Initial Catalog=moory;Integrated Security=True")
command.CommandText = "SELECT * FROM [Users] WHERE UserName='" & TextBox1.Text & "' AND Passwords='" & TextBox2.Text & "';"
connection.Open()
command.Connection = connection
adaptor.SelectCommand = command
adaptor.Fill(dataset, "0")
Dim count = dataset.Tables(0).Rows.Count
If count > 0 Then
Me.Hide()
Main.UserType = 1
Main.Show()
Else
MsgBox("Invalid Account", MsgBoxStyle.Critical, "Login Failed")
TextBox1.Clear()
TextBox2.Clear()
End If

JaVa
جمعه 18 فروردین 1391, 11:30 صبح
سلام....

یکی از دوستان طوی همین تالار یه آموزش گام به گام پایگاه داده گذاشته یکی از سر فصل هاش هم همین موضوع هست.
گفتم شاید بدردت بخوره.

برای دیدن اینجا (http://barnamenevis.org/showthread.php?333713-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85&p=1476215&viewfull=1#post1476215)کلیک کنید.:لبخند:


پیروز باشید.*

alimanam
جمعه 18 فروردین 1391, 11:58 صبح
با سلام


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

ببین دوست عزیز شما که خودت پست دادی گفتی مشکلم حل شد !!! ( پست شماره 4 ) و اما جواب سوال شما :

همون پروژه رو با کمی تغییرات میتونستین بازنویسی کنین . ( پروژه ضمیمه شد )

لیست کاربران معتبر :

http://www.hostpic.org/images/231.png

موفـــق باشید./

moory1364
جمعه 18 فروردین 1391, 15:14 عصر
دوست خوبم لطف می کنید با کدی که خودم گذاشتم توضیح بدید
چطور از select استفاده کنم روی سلول های usertype سطح دسترسی با عدد پر شده و یا نام و نام خانوادگی استفاده کنم
با تشکر

با سورس شمانتونستم به جای برسم دیتابس من sql می باشد

Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click

If CheckuserExist(TextBox1.Text, TextBox2.Text) Then
Me.Hide()
Main.UserType = usertype
Main.Show()
Else
MsgBox("Invalid Account", MsgBoxStyle.Critical, "Login Failed")
TextBox1.Clear()
TextBox2.Clear()
End If

End Sub

Private Function CheckuserExist(ByVal id As String, ByVal pass As String) As Boolean
Try
Dim connection As New SqlClient.SqlConnection
Dim command As New SqlClient.SqlCommand
Dim adaptor As New SqlClient.SqlDataAdapter
Dim dataset As New DataSet

connection.ConnectionString = ("Data Source=" & My.Computer.Name & ";Initial Catalog=moory;Integrated Security=True")
command.CommandText = ("select * from Users")
If connection.State = ConnectionState.Closed Then connection.Open()

Dim reader As SqlDataReader
reader = command.ExecuteReader

Dim value As Boolean = False
While reader.Read
If id = reader.GetString(0).Trim And pass = reader.GetString(1).Trim Then
usertype = reader.GetInt32(2)
Main.UserFirstLastName = reader.GetString(3).Trim
value = True
Exit While
End If
End While
connection.Close()
Return value

Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try

End Function

Hybrid
یک شنبه 20 فروردین 1391, 00:52 صبح
سلام ، اینم نمونه برنامه دوستمون با کد Sql . (http://uploadkon.ir/uploads/a0ad7018250ca82b9879c702ce18a45e.zip)


موفق باشید./

moory1364
یک شنبه 20 فروردین 1391, 01:41 صبح
از جوونیت خیر بینی جوون
حق استادی به گردن من داری زدن کلید تشکر کافی نبود