PDA

View Full Version : درست کردن اکانت های کاربری دز سی شارپ



arastoo.s
جمعه 28 بهمن 1390, 14:56 عصر
با سلام خدمت تمام دوستان عزیز
بی مقدمه میرم سر اصل مطلب , قرار یک برنامه بنوسیم (این برنامه ویندوز اپلیکیشن هست ) که تعدادی افراد بتوانند به اون وارد بشن و سپس کار هایی رو که لازمه انجام بدن در این برنامه یک سطح ریشه هم داریم , خو تا جایی که الان شما ها و من فهمیدم این برنامه می تونه مثل یک سیستم عامل چندین کاربر و یک (فقط یک) سطح ریشه داشته باشه حال سئوال من این جاست که چه جوری می تونم این دست رسی ها را درست کنم که افراد بتوانند به سیستم وارد بشن و سیستم از کسی که هم اکنون وارد شده خبر داشته باشه بتوانه پسورد خودش رو ویرایش کنه و مدیر سیستم هم بتوانه پسورد هر کسی رو خواست تغییر بده و یا اون را حذف کنه
********
شرمنده اگه کمی بد توضیح دادم اگه جایی ابهام داشت بهم بگید که بیشتر توضیح بدم ممنون از همه شما دوستان

mrbm_2007
جمعه 28 بهمن 1390, 15:05 عصر
یه کلاس مثل این تعریف کن

class User{
public string userName;
public string firstName;
public string lastName;
public string password;
public Image userImage;
...

}



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

امیدوارم با مفاهیم کلاس و برنامه نویسی Object Oriented آشنا باشی

arastoo.s
جمعه 28 بهمن 1390, 15:09 عصر
بله با مفاهیم شی گرایی اشنایی دارم
یک سوال ؟ اگه یک کاربر دیگه از یکه سیستم دیگه به این سیستم وارد شد چی ؟ از کجا میشه اون رو تشخیص داد ؟ یا اگه از یک سیستم بصورت اشتراکی استفاده شده باشه چی ؟

mhsmity
جمعه 28 بهمن 1390, 15:16 عصر
خوب با توجه به نوع کاربری که وارد برنامه می شه فرم های مورد نظر نشون بده .
معمولا یه مدیر و چندین کاربر وجود داره
خوب طبعیی که فرم حذف و اضافه کاربران فقط برای مدیر نمایش داده بشه.

mrbm_2007
جمعه 28 بهمن 1390, 15:23 عصر
بله با مفاهیم شی گرایی اشنایی دارم
یک سوال ؟ اگه یک کاربر دیگه از یکه سیستم دیگه به این سیستم وارد شد چی ؟ از کجا میشه اون رو تشخیص داد ؟ یا اگه از یک سیستم بصورت اشتراکی استفاده شده باشه چی ؟

در اون صورت باید اطلاعات مربوط به کاربر ها یه جوری به اشتراک گذاشته شده باشه. مثلا از طریق شبکه یا اینترنت و یا در یه حالت خیلی ساده اطلاعات هر کاربر در یک فایل جداگانه و البته رمز شده ذخیره بشه و کاربر مثل یه کلید از اون برای ورود به برنامه استفاده کنه

در ضمن برای کاربر ها باید سطح دسترسی هم تعریف کنی (مثلا مدیر که حق مدیریت کاربر ها رو داشته باشه)

arastoo.s
جمعه 28 بهمن 1390, 15:50 عصر
در اون صورت باید اطلاعات مربوط به کاربر ها یه جوری به اشتراک گذاشته شده باشه. مثلا از طریق شبکه یا اینترنت و یا در یه حالت خیلی ساده اطلاعات هر کاربر در یک فایل جداگانه و البته رمز شده ذخیره بشه و کاربر مثل یه کلید از اون برای ورود به برنامه استفاده کنه

در ضمن برای کاربر ها باید سطح دسترسی هم تعریف کنی (مثلا مدیر که حق مدیریت کاربر ها رو داشته باشه)

به نظر ات سطح دست رسی چه جوری باید تعریف بشه ؟
البته من فک می کنم چون برنامه با دیتا بیس در ارتباط هست باید سطح هایی دست رسی را درون دیتابیس تعریف کنیم اما در رابطه با این که جدول ها به چه شکل می تونن باشن هیچ ایده ای ندارم

mrbm_2007
جمعه 28 بهمن 1390, 15:54 عصر
توی همون کلاس User یه ویژگی دیگه برای نوع دسترسی کاربر قرار بده
مثلا
class User{
public string userName;
public string firstName;
public string lastName;
public string password;
public Image userImage;
...
public UserType type;

}

public enum UserType{
Admin, Standard, Guest
}

arastoo.s
جمعه 28 بهمن 1390, 16:02 عصر
هممم این راه حل اخری فک کنم خوب باشه ممنان