PDA

View Full Version : تعریف سلسه مراتب سازمانی (در سطوح دسترسی)



javad3151
دوشنبه 17 مهر 1385, 09:55 صبح
سلام
من دارم یه نرم افزار اتوماسیون اداری می نویسم که سطوح دسترسی کاربران باید براساس سلسه مراتب سازمان باشه . فرض کنید: اداره کل 1 و اداره کل 2 هر کدام 3 اداره زیر مجموعه دارند ، حالا مدیران اداره کل1 می توانند به مدیران هم عرض خودشون(در اداره کل 1) نامه ارسال کنند ، ولی نمیتونند به مدیران اداره کل 2 نامه ارسال کنند بلکه باید از طریق مدیر اداره کل 1 اینکار رو انجام بدهند.
من هرجوری فکر کردم دید Role های دات نت جواب نمیده
به نظر شما چطور باید اینکار روانجام بدم؟؟

mahdi_negahi
دوشنبه 17 مهر 1385, 11:44 صبح
دقیقا این همان Bussienes logic layer است باید خودت این کارا را پیاده سازی کنید در یک کلاس جدا و بعد وقتی میخواهی نامه بزنی یک object از اون کلاس درت کنی اینم بهت بگم که فرستادن نامه هم باید توی همون کلاس انجام بشه

javad3151
سه شنبه 18 مهر 1385, 20:26 عصر
میشه بیشتر توضیح بدید
اگر یه مثال کوچیک بگید یا الگوریتم کار رو بیشتر توضیح بدید ممنون میشم

mahdi_negahi
سه شنبه 18 مهر 1385, 22:22 عصر
ببینید به نظر من این راه خوبی است ولی خودت فکر کن شاید بهتر از این به فکرت برسه

1- مطمئنا کاربرای سایت login میشن پس میتونی یک فیلد بسازی در دیتا بیس مثلا به نام roles که مشخص کننده این است که کاربری که login کرده برای کدام اداره است و اگر یک ذره افزونگی قبول کنی میتوانی ID مدیر اداره هم در رکورد هر کارمند بزاری

2- یک کلاس بساز به نام SendMail که دارای متدهایی برای sendMail است نکته مهم این است که این تابع چندین پارامتر میگیرد
1- آدرس گیرنده
2-سطح آداره خودش
3- متن نامه
4-.....

خوب وقتی میخواهی به یک نفر میل بزنی فرستنده ملومه چون login شده و تو حتما اطلاعات مورد نیاز را در هنگام login شدن در کوکی مربوطه ریختی حلا در همان کلاس و تابع ت یک تابع را فراخوانی می کنی که این تابع وظیفه این را دارد که سطح گیرنده را بررسی کند و سطح را برمیگرداند و همچنین ID مدیر کل را (در غلب یک رشته بعد میتونی با Split از هم جدا کنی) اگر چیزی که فرستاده شد مساوی کاربرت بود که تکلیف ملومه اگر هم که ID مدیر را داری و باید به آدرسش بفرستی

موفق باشی