PDA

View Full Version : مبتدی: گذاشتن username و password در C#‎



zahra_mis
چهارشنبه 04 مرداد 1391, 12:01 عصر
من مشغول نوشتن یک نرم افزار حسابداری برای پروژه فاینالم هستم. میخواستم برای ورود به نرم افزار username و password بگذارم اما نمی دانم چه طور این شرط را بگذارم. همینطور میخوام شرطی بگذارم که تعداد کاراکترهای ورودی از 7 کمتر نباشد. برای تغییر رمز هم راهنماییم کنید. از لطف همه شما متشکرم.

ali_habibi1384
چهارشنبه 04 مرداد 1391, 12:11 عصر
اين موضوع ميليلردها بار بحث شده. لطفا درسايت جستجو كنيد.

sirvan-me
چهارشنبه 04 مرداد 1391, 13:01 عصر
هم می تونید رمز و پسورد مورد نیاز برای Log in به برنامتون رو تو رجیستری ذخیره و هر بار از اون بخونید و با ورودی های کاربرتون چک کنید و هم از دیتابیس و یک جدول با دو فیلد ( User و Password ) با بیشتر استفاده کنید .

Farshid007
چهارشنبه 04 مرداد 1391, 14:18 عصر
مگه میشه کسی بتونه یه نرم افزار حسابداری درست کنه اما نتونه یه Log in بزاره!
جلل خالق!

jafarpalideh
چهارشنبه 04 مرداد 1391, 14:20 عصر
آقا مسخره نکنید طفلی رو
حتما میتونه دیگه
ای بابا

Arash_janusV3
چهارشنبه 04 مرداد 1391, 14:29 عصر
من مشغول نوشتن یک نرم افزار حسابداری برای پروژه فاینالم هستم. میخواستم برای ورود به نرم افزار username و password بگذارم اما نمی دانم چه طور این شرط را بگذارم. همینطور میخوام شرطی بگذارم که تعداد کاراکترهای ورودی از 7 کمتر نباشد. برای تغییر رمز هم راهنماییم کنید. از لطف همه شما متشکرم.

ابتدا باید در برنامه یک جایی بگذارید برای تعریف کاربران که در آن نام و رمز وارد می شود
سپس جدولی برای کاربران در دیتابیس اختصاص دهید
سپس در تعریف کاربران کنترل کنید که کاربر تکراری تعریف نشود
سپس یک فرم Log in یا ورود کاربر درست کنید در آنجا کاربر نام و رمز را وارد می کند شما بر اساس نام کاربر کنترل می کنید که آیا نام و رمز با جدول مشابه هست یا نه
در جدول باید یک پیش فرض برای ورود یک رکورد بگذارید مثلا نام 1 رمز 1 و در صورت لزوم کاربر آن را در تعریف کاربران اصلاح می کند
موفق باشید

ali_habibi1384
چهارشنبه 04 مرداد 1391, 14:35 عصر
مگه میشه کسی بتونه یه نرم افزار حسابداری درست کنه اما نتونه یه Log in بزاره!
جلل خالق!

دقيقا چنين سوالي ذهن خودمو مشغول كرده بود.اما نپرسيدم خيلي باحال اومدي حاجي:قهقهه:

neda_1367_sh
چهارشنبه 04 مرداد 1391, 16:43 عصر
دقيقا چنين سوالي ذهن خودمو مشغول كرده بود.اما نپرسيدم خيلي باحال اومدي حاجي:قهقهه:
به نظر من که اصلا مسخره کردن نداره کارتون درست نیست.
همین شمایید که.........
اگه خواستید بگید من کدشو بزارم.

h-rafiee
چهارشنبه 04 مرداد 1391, 17:03 عصر
دوست عزیز
همونطور که دوستان گفتند راههای بسیاری است چند تا از راههای متداول رو براتون ذکر می کنم لطفا دنبالش داخل فروم بگردید اگه پیدا نکردید پست بزارید راهنمایی بگیرید.
1- چک کردن ساده ورودی یک تکست باکس با شرط های if
2- ذخیره کردن نام کاربری و رمز عبور در یک فایل (متنی با هر پسوندی که دلتون خواست) و دسترسی به این فایل.
3- استفاده کردن از فضای رجستری ویندوز
4- استفاده از بانک دیتابیس
اگه برنامه ای که دارید حداقل یک دیتابیس وجود داره بهتره که از روش چهارم با ایجاد یک جدول و دو مولفه نام و پسورد ایجاد کنید چون در عین اینکه سربار برنامتون بیشتره ولی کد نویسی راحتتر و امنیت بیشتری دارید.
------------------------------------------------------------------------------------
راستی برای دوستان دیگری که هستند میگم که آموزش و توضیح و توسعه جامعه برنامه نویسی جایی برای مسخره کردن و توهین کردن به اشخاص نداره.
راستی یک چیزه دیگه به دوستمون که گفتند

مگه میشه کسی بتونه یه نرم افزار حسابداری درست کنه اما نتونه یه Log in بزاره!
جلل خالق!
برنامه که که 0+1 رو هم حساب کنه یک برنامه حسابداری محسوب میشه.لازم نیست که یک برنامه حسابداری مثل حسابداری هلو یا امثال آن باشه.

robat7
چهارشنبه 04 مرداد 1391, 17:15 عصر
ظاهرا افرادی که دیگران را مسخره می کنند یا جملات توهین آمیز در جواب پست ها می نویسند دو منظور بیشتر نمی توانند داشته باشند. یا دانش ناچیز خود را به رخ دیگران بکشانند یا تعداد پست های خود را در سایت زیاد کنند.
اگر نمی خواهید راهنمایی نمایید نیازی نیست پاسخ دهید.

Farshid007
چهارشنبه 04 مرداد 1391, 17:25 عصر
برنامه که که 0+1 رو هم حساب کنه یک برنامه حسابداری محسوب میشه.لازم نیست که یک برنامه حسابداری مثل حسابداری هلو یا امثال آن باشه.

اخه زهرا_میس یه جور گفت "من مشغول نوشتن یک نرم افزار حسابداری..."
گفتم یه چی مثل هلو درست کرده!

در هر صورت شرمنده ،قصد ما مسخره کردن نیست
خوب تو برنامه نویسی هم شوخی شهرستانی هست دیگه!!!:چشمک:

ali_habibi1384
چهارشنبه 04 مرداد 1391, 17:32 عصر
ظاهرا افرادی که دیگران را مسخره می کنند یا جملات توهین آمیز در جواب پست ها می نویسند دو منظور بیشتر نمی توانند داشته باشند. یا دانش ناچیز خود را به رخ دیگران بکشانند یا تعداد پست های خود را در سایت زیاد کنند.
اگر نمی خواهید راهنمایی نمایید نیازی نیست پاسخ دهید.

اگر منظورتون من هستم بايد بگم اولين مديري كه اين تاپيك رو ببينه چون سوال بسيار تكراريه و ايشون قوانين سايت رو رعايت نكرده تاپيك حذف ميشه. پس پست دادن توي تاپيكي كه قراره حذف شه چه سودي داره؟
در ثاني اگر يه نگاه به تعداد پستهام تاريخ عضويتم و تعداد تشكرهام بندازي (حمل بر خود ستايي نباشه) از حرف خودت خجالت ميكشي ! و اينكه نيازي ندارم تعداد پستامو افزايش بدم !!! كه به كجا برسم؟
شايد معلومات من در برابر شما ناچيز باشه!!! اما اوني كه بلدم وقتمو صرف كمك كردن به ديگران ميكنم. شما هم بلدي بسم الله.

neda_1367_sh
چهارشنبه 04 مرداد 1391, 17:40 عصر
ظاهرا افرادی که دیگران را مسخره می کنند یا جملات توهین آمیز در جواب پست ها می نویسند دو منظور بیشتر نمی توانند داشته باشند. یا دانش ناچیز خود را به رخ دیگران بکشانند یا تعداد پست های خود را در سایت زیاد کنند.
اگر نمی خواهید راهنمایی نمایید نیازی نیست پاسخ دهید.
فکر میکنم قصدشون همون مورد اوله.اینجور آدما اینجا کم نیستن.
معمول ترین راه همون مورد4 آقای رفیعی هست که از دیتابیس استفاده کنید من 1 کد نمونه برا log in میزارم شما برای تغییر رمز خودتون کدشو بنویسید بزارید اینجا تا دوستان ببینن میتونید:چشمک:
فقط update میخواد.

privatevoid login_Click_1(object sender, EventArgs e)
{
SqlConnection con = newSqlConnection();
con.ConnectionString = ConnectionString;
SqlCommand cmd = newSqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from admin where ausername=@p1 and apassword=@p2 ";
cmd.Parameters.AddWithValue("@p1", tuser.Text);
cmd.Parameters.AddWithValue("@p2", tpass.Text);
con.Open();
SqlDataReader myReader;
myReader = cmd.ExecuteReader();
if (myReader.HasRows)
while (myReader.Read())
{
MessageBox.Show(".شما با نام کاربری <"+ myReader.GetString(2)+ "> به عنوان مدیر وارد شده اید");
}
else
MessageBox.Show(".نام کاربری یا رمز عبور وارد شده اشتباه است");
cmd.Dispose();
con.Dispose();
}

Farshid007
چهارشنبه 04 مرداد 1391, 17:41 عصر
یه راه خوب خودم توضیح می دم!

در نرم افزار حسابداری که نیازی به لوگین کردن افراد نیست
فکر کنم شما میخواهید واسه نرم افزار تون رمز عبور برای ورود به برنامه بزارید.

باید تو Setting.Setting یه رشته درست کنید
ویه فرم ساده مثل مسیج باکس که رمز رو بپرسه به نام frmPass
بعد تو فرم اصلی تون تو رویداد Load این کد رو بزارید:
using (frmPass PassForm = new frmPass())
{
if (PassForm.ShowDialog() != DialogResult.OK)
{
MessageBox.Show("کلمه عبور اشتباه است لطفا دوباره سعی کنید","خطا",MessageBoxButtons.OK,MessageBoxIcon.Warning);
Application.Restart(); return;
}
}

بعد تو اون فرم تو دکمه تائید بگید که اگه متن تکست باکس با متن ذخیره شده تو Setting.Setting یکی بود Dialog Reslut=ok

یدتون نره UseSystemPasswordChar=True

Farshid007
چهارشنبه 04 مرداد 1391, 17:43 عصر
داش علی تو چرا خودتو ناراحت می کنی
منظورش من بودم بابا !
تو که از اون ستاره های طلایی ات معلومه استاد منی

h-rafiee
چهارشنبه 04 مرداد 1391, 17:54 عصر
اگر منظورتون من هستم بايد بگم اولين مديري كه اين تاپيك رو ببينه چون سوال بسيار تكراريه و ايشون قوانين سايت رو رعايت نكرده تاپيك حذف ميشه. پس پست دادن توي تاپيكي كه قراره حذف شه چه سودي داره؟
در ثاني اگر يه نگاه به تعداد پستهام تاريخ عضويتم و تعداد تشكرهام بندازي (حمل بر خود ستايي نباشه) از حرف خودت خجالت ميكشي ! و اينكه نيازي ندارم تعداد پستامو افزايش بدم !!! كه به كجا برسم؟
شايد معلومات من در برابر شما ناچيز باشه!!! اما اوني كه بلدم وقتمو صرف كمك كردن به ديگران ميكنم. شما هم بلدي بسم الله.
اینکه منظور رو بخودتون میگیرید دلیلش رو نمی فهمم لازم نیست مسائل رو دوباره بازگویی کنم.
شما پیشکسوت تاج سر همه دوستان اینگونه ولی گاهی اوقات شوخی می کنیم ولی شوخیمون دگ نباید باعث بشه یکی که تازه اومده داخل تاپیک به غلط کردن بندازه که.

gwbasic
چهارشنبه 04 مرداد 1391, 22:12 عصر
این تاپیک چند نکته داره :
1- جستجو نکردن و زدن تاپیک تکراری در صورتیکه با جستجو کردن این موضوع حل می شد.
2- عکس العمل برخی دوستان با سابقه: من هم مثل شما و شایدم بیشتر از شما از بعضی تاپیک ها بخاطر مسئولیتی که دارم عصبانی می شم ولی پیشنهاد می کنم مدارا کنید و دوستان تازه کار رو راهنمایی کنید (شاید نمی دونن...). من از طریق بعضی کاربران متوجه شدم که تعداد کمی از دوستان با سابقه از طریق پیام خصوصی به کاربران تازه وارد حتی توهین می کنند!!! ببینید شما اگه وقتی میزارید خودتون خواستید جواب بدید دیگه عصبانیت و توهین چرا؟ شما هم خودتون زمانی تازه کار بودید به نظرتون این کار درسته!؟!؟!
البته اصلا و عبدا منظورم افرادی که در این تاپیک شرکت کردن نیست فقط خواستم این موضوع رو عنوان کنم که اگر زمانی از تاپیکی تا فردی عصبانی می شیم یا بهتره اصلا عکس العملی نشون ندیم یا اینکه اگر پاسخی می دیم صرفا در جهت راهنمایی باشه.
حتما قبول دارید که شروع برنامه نویسی واقع سخت هست کلی گیج زدیم تا جواب یکسری سوالات رو گرفتیم حالا در این بین اگه کسی هم توی ذوق ما می زد چه احساسی بهمون دست می داد. شرط انصاف نیست که توی ذوق کسی بزنیم و روحیه کسی رو خراب کنیم
3- بعضی از دوستان پر تلاش جواب هر سوالی رو می دن اگه 20 بار هم سوالی مطرح بشه باز هم جواب می دن بعضی از این سوال ها تکراری هستن و می شه ارجاع داد و بعضی از این سوال ها مشخصه که سوال کننده هیچ پیش زمینه ای نداره و فقط می خواد جواب رو پیدا کنه (شاید برای پروژش درسش ...) حالا با پاسخ ما چه چیزی منتقل می شه آیا چیزی رو یاد دادیم؟ کمکی کردیم؟ باعث شروع یک حرکت و تلاشی شدیم یا اینکه باعث تنبلی فرد شدیم؟
4- بعضی از دانشجویان عزیز وقتی رو صرف یادگیری نکردن و زمانی تصمیم می گیرن پروژه پایانی شون رو بنویسن تازه می خوان شروع کنن به برنامه نویسی البته این بهونه خیلی خیلی خوبی هست اما راه داره و زمان نیاز داره درصورتیکه این افراد معمولا کارو ساده فرض می کنن و خیلی دیر شروع می کنن و روششون هم سعی و خطا و سوال و جواب هست. برای هر نیازی سوالی مطرح می کنن و فکر می کنند که با گرفتن جوابش مشکلشون حل می شه ولی باور کنید به این شکل هیچ پروژه ای انجام نخواهد شد چند ماه فرصت لازم هست و مطالعه و تلاش مستمر. اصلا نمی خوام انرژی منفی بدم ولی هر کاری برای اینکه به سر انجام برسه نیازمند راه و روش درست هست

این تاپیک رو تا مدتی باز می ذارم نه برای بحث فنی در مورد سوال مطرح شده بلکه در مورد این پست شاید شما نظری داشته باشید

neda_1367_sh
پنج شنبه 05 مرداد 1391, 02:47 صبح
ممنون آقای جمشیدی کاش همه مثل شما بودن و یادشون میموند که خودشونم 1 زمانی مبتدی بودن!
شاید با جستجو به نتیجه میرسیدن اما دقت کنید که اولین تاپیکشونه من خودم اولین تاپیکم عنوانش واقعا نامناسب بود ولی اون موقع متوجه نمیشدم.آقای موسوی لطف کردن تذکر دادن و عنوان تاپیکمو درست کردن.اگه اون زمان تاپیک من حذف میشد ممکن بود دیگه هیچ وقت نیام (هر چند برا شما مهم نبود )
در کل به نظر من باید به تازه کارا فرصت داد.
توهین کردن و مسخره کردن دیگران اصلا کار درستی نیست.
من که واقعا میترسم سوالامو بپرسم.

Y_Safaiee
پنج شنبه 05 مرداد 1391, 03:36 صبح
با سلام خدمت همه دوستان

سخن استاد بزرگوارم gwbasic (http://barnamenevis.org/member.php?25140-gwbasic) متین و من حرفشونو قبول دارم و واقعا تک تک کلماتشون زیبا و درست بود اما واقعا بعضی از دوستان(منظورم کلیه و این بنده خدا منظورم نیست چون خودمم هنوز خیلی حالت ها رو بلد نیستم و باور کنین بعد 6سال برنامه نویسی و مدیریت شرکت برنامه نویسی هنوز بعضی جاها کم میارم) کم لطفی میکنین,باورتون نمیشه بگم من چند پیام خصوصی داشتم که طرف گفته من چطوری متغییر int تعریف کنم یا آیا مثه c باید ; بزارم یا یکی از دوستان پیام خصوصی زده بود دوستم برام ویژوال استادیو.نت نصب کرده چطوری بازش کنم!!!واقعا مونده بودم چرا همچین کسی میخواد تو سی شارپ برنامه بنویسه,اینجا یه مکان عالی برای آموزش کدنویسیه,طراحی و پایگاه داده ایه نه سوالهای الکی,با مثلا دیروز دارم تو بخش های دیگه میگردم بنده خدا مدیر و مدیران گفتن دوستان کامنت نزنین تو این بخش باز هزار نفر نظر میدادن و بنده خدا مدیر مجبور بود این نظراتو حذف کنه,کار مدیر شده بود حذف کردن نظرات جای مدیریت سایت.

واقعا ما چرا اینقدر بی دقت و کم لطفیم؟تنبل شدیم میگردیم دنبال کد آماده,تا یکی مفهومو میرسونه تشکر نمیکنیم کسی که کد میده 2تا 2تا تشکر میزنیم,مثلا دقیقا دیروز یکی از دوستان یه پیام زد آقا یونس میخوام اینکارو کنم چیکار کنم,من کدشو نوشتم و فرستادم,حتی یه سمپل کدم نوشتم براش,بعد دیدم پیام زد من دستم خستس!!من برات آپلود میکنم تو کداشو بنویس آپلود کنم آدرس یده برم بردارم!!!به خودم فکر کردم چرا چنین کسی اینقدر ازم انتظار داره بابت کارم که حقوق نمیگیرم وظیفم باشه براش درست کنم,بس لیلی به لالای دوستان گذاشتیم فکر کنم پیش بریم برنامهاشونم میسپرن به امثال ما,بعد میشن یکی مثه ویژوال استادیو رو چطوری باز کنم.


من خواستم فقط بگم واقعا واقعا بعضی وقتها نمیشه چیزی نگفت و تحقیر کردن کار سازه مثه وقتی استاد پای وایت برد میبردت و تحقیرت میکنه از اون به بعد میشی خوره اون درس.دوستان بعضی وقتها تحقیر شدن شروع رشد و پیشرفته و آدم باید جای عقب نشینی و منزوی شدن تلاششو بیشتر کنه,منم خودم تا الان هزاران بار تحقیر شدم

باآرزوی موفقیت و شادی برای همه دوستان

موفق باشین
بایت بایت

neda_1367_sh
پنج شنبه 05 مرداد 1391, 04:45 صبح
من خواستم فقط بگم واقعا واقعا بعضی وقتها نمیشه چیزی نگفت و تحقیر کردن کار سازه مثه وقتی استاد پای وایت برد میبردت و تحقیرت میکنه از اون به بعد میشی خوره اون درس.

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

jafarpalideh
پنج شنبه 05 مرداد 1391, 07:31 صبح
من خودم یکی از اون گاگول های برنامه نویسی هستم ولی اصلا ناراحت نمیشم که کسی مسخرم کنه(در صورتی که با سماجت هام به نتیجه مناسب برسم)
یک بار گفتم و هزار بار دیگه هم میگم :من دست کسانی که لطف میکنن و گره از کار ها باز میکنن میبوسم
البته توی قوانین سایت نوشته کسی رو ناامید نکنید ولی این ناامید کدن نیست و یه تلنگره

irana8
پنج شنبه 05 مرداد 1391, 08:10 صبح
اگر منظورتون من هستم بايد بگم اولين مديري كه اين تاپيك رو ببينه چون سوال بسيار تكراريه و ايشون قوانين سايت رو رعايت نكرده تاپيك حذف ميشه. پس پست دادن توي تاپيكي كه قراره حذف شه چه سودي داره؟
در ثاني اگر يه نگاه به تعداد پستهام تاريخ عضويتم و تعداد تشكرهام بندازي (حمل بر خود ستايي نباشه) از حرف خودت خجالت ميكشي ! و اينكه نيازي ندارم تعداد پستامو افزايش بدم !!! كه به كجا برسم؟
شايد معلومات من در برابر شما ناچيز باشه!!! اما اوني كه بلدم وقتمو صرف كمك كردن به ديگران ميكنم. شما هم بلدي بسم الله.
دقيقا با با علي آقا موافقم.علي اقا انسان با معرفت و محترمي هستن.پس اينكه ايشون را متهم به مسخره كردن بكنيد اصلا كار درستي نيست.در هر حال متن نوشته دوست خوبمون طوري بود كه همه اين تصور در ذهنشون ايجاد ميشه.موفق باشيد.

takgig
پنج شنبه 05 مرداد 1391, 10:27 صبح
سلام

برات یکی به صورت عملی گذاشتم که رمز رو hash می کنه که اگر کسی به دیتابیس دسترسی داشته باشه رمزا رو نبینه.

http://www.mediafire.com/?1127k3ommfspck3

moslem68
پنج شنبه 05 مرداد 1391, 11:56 صبح
ساده ترین نوع
int x = user_tbBindingSource.Find("UserName", userNameTextBox.Text);

int y = user_tbBindingSource.Find("PassWord", passWordTextBox.Text);

if (x != -1 && y != -1 && x == y)
{
Show_OP();

frmLogin.ActiveForm.Hide();
frmMain ob = new frmMain();

ob.ShowDialog();

}
else
{
MessageBox.Show("نام کاربری یا کلمه عبور اشتباه است !", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
}