PDA

View Full Version : سوال: مجوز دادن به کاربران



caspiansea
شنبه 20 تیر 1388, 14:55 عصر
با سلام
من یه برنامه دیتابیسی به زبان سی شارپ دارم.در این برنامه ابتدا کاربران در سیستم ثبت نام میشن و از سیستم استفاده می کنند.حالا می خوام برای این کاربران مجوز تعیین کنم و مشخص کنم که هر کاربری به چه قسمتی دسترسی داره و یا چه کاری می تونه انجام بده.به عنوان مثال بتونه عمل ویرایش یا حذف کردن رو انجام بده.چطوری می تونم این سطح دسترسی رو برای کاربرانم تعریف کنم.
با تشکر

Mohsen_Fotouhi
شنبه 20 تیر 1388, 16:07 عصر
سلام دوست عزیز اگه می خواهید سطح دسترسی فقط در برنامه انجام بشه می تونید از یک جدول در پایگاه داده استفاده کنید که اطلاعات مربوط به هر لاگین رو در هنگام ورود به برنامه بررسی کرده و اگراجازه دسترسی به اون قسمت رو داشت اون قسمت مورد نظر نمایش داده شود به فرض مثال می تونید برای هر قسمت در برنامه در جدول یه ستون در نظر بگیرید به صورت بیتی اگر صفر بود نمایش داده نشود و اگر 1 بود نمایش داده شود و برای ایجاد لاگین در محیط برنامه می تونید از Proc سیستمی sp_addLogin (در Sqlserver )استفاده کنید

حالا اگر بخواهید سطح دسترسی در پایگاه داده هم صورت بگیرد باید script هر قسمت رو

گرفته و اون را اجرا کنید البته می دونم یه مقدار بد توضیح دادم:لبخند: ولی بهتر از این نمی تونم

توضیح بدم :افسرده:

Xcalivorse
شنبه 20 تیر 1388, 16:08 عصر
ميتونيد از توي SQL يوزرهايي تعريف كنيد و محدوديت ها رو روي اونها اعمال كنيد. سپس در زماني كه كاربر قصد استفاده از بانك رو داره با نام يوزرهاي مناسب به بانك Login كنيد.

Mohsen_Fotouhi
شنبه 20 تیر 1388, 18:00 عصر
دوست عزیر این روشی که شما معرفی کردید صحیح می باشد ولی در داخل برنامه برای ظاهر نشدن منو های قسمت هایی که سطح دسترسی ندارند این روش , روش کاملی نمی باشد

Xcalivorse
شنبه 20 تیر 1388, 20:54 عصر
با سلام دوست عزيز. در مطلبتون درست مشخص نشده بود كه سطح دسترسي مورد نظرتون در چه سطحي است بنابراين من هم جواب معمول رو نوشتم. يعني محدوديت دسترسي در سطح DataLeyer.
براي اين كار بهترين راه در نظر گرفتن يك روند براي تعيين و بازگذاري سطح دسترسي كاربران در برنامه ميباشد.
در زمان ثبت كاربران امكاني را براي مدير سيستم ايجاد كنيد تا بتواند بوسيله آن به كاربران محدوديت اعمال كند. مثلا حوزه كاري هر كاربر را مشخص كند و فعاليت هاي مجاز وي را (ذخيره،بازيابي،حذف،تغيير،. ....) تعيين كند. سپس اطلاعات مجوزهاي دسترسي (access license Information) كاربران را در فيلد مورد نظر در بانك ذخيره كنيد (بهتر است ابتدا اطلاعات با آلگوريتم هاي غير Hash كد شود) .
در زمان لاگين يوزر ها به برنامه اطلاعات مجوزهاي دسترسي را از ديتابيس خوانده و در برنامه بارگذاري كنيد. بدين منظور بهتر است يك كلاس براي ذخيره اطلاعات مجوزهاي دسترسي در برنامه خود تعبيه كنيد. در صورتي كه از معماري 7لايه استفاده ميكنيد ميتوانيد لايه Scurity خود را در زمان اجرا بوسيله اطلاعات مجوزهاي دسترسي پيكربندي كنيد در غير اين صورت براي نمايش هر فرم ميبايستي سري به اطلاعات مجوزهاي كاربر بزنيد و با توجه به آن به نمايش يا پنهان كردن عناصر روي فرم بپردازيد و فعاليتهاي كاربر را كنترل نماييد. در تصوير ضميمه شده عكس فرم مذكور در يكي از برنامه هام رو قرار دادم. انشاالله كه براتون مفيد باشه.
موفق، پيروز و سربلند باشيد.

HAMRAHSOFT.IR
جمعه 23 بهمن 1388, 23:51 عصر
با سلام دوست عزیز. در مطلبتون درست مشخص نشده بود که سطح دسترسی مورد نظرتون در چه سطحی است بنابراین من هم جواب معمول رو نوشتم. یعنی محدودیت دسترسی در سطح DataLeyer.
برای این کار بهترین راه در نظر گرفتن یک روند برای تعیین و بازگذاری سطح دسترسی کاربران در برنامه میباشد.
در زمان ثبت کاربران امکانی را برای مدیر سیستم ایجاد کنید تا بتواند بوسیله آن به کاربران محدودیت اعمال کند. مثلا حوزه کاری هر کاربر را مشخص کند و فعالیت های مجاز وی را (ذخیره،بازیابی،حذف،تغییر،. ....) تعیین کند. سپس اطلاعات مجوزهای دسترسی (access license Information) کاربران را در فیلد مورد نظر در بانک ذخیره کنید (بهتر است ابتدا اطلاعات با آلگوریتم های غیر Hash کد شود) .
در زمان لاگین یوزر ها به برنامه اطلاعات مجوزهای دسترسی را از دیتابیس خوانده و در برنامه بارگذاری کنید. بدین منظور بهتر است یک کلاس برای ذخیره اطلاعات مجوزهای دسترسی در برنامه خود تعبیه کنید. در صورتی که از معماری 7لایه استفاده میکنید میتوانید لایه Scurity خود را در زمان اجرا بوسیله اطلاعات مجوزهای دسترسی پیکربندی کنید در غیر این صورت برای نمایش هر فرم میبایستی سری به اطلاعات مجوزهای کاربر بزنید و با توجه به آن به نمایش یا پنهان کردن عناصر روی فرم بپردازید و فعالیتهای کاربر را کنترل نمایید. در تصویر ضمیمه شده عکس فرم مذکور در یکی از برنامه هام رو قرار دادم. انشاالله که براتون مفید باشه.
موفق، پیروز و سربلند باشید.

امکان قرادان یک نمونه به همراه بانک اکسس برازید؟

mustafa13
پنج شنبه 09 اردیبهشت 1389, 14:09 عصر
با سلام دوست عزيز. در مطلبتون درست مشخص نشده بود كه سطح دسترسي مورد نظرتون در چه سطحي است بنابراين من هم جواب معمول رو نوشتم. يعني محدوديت دسترسي در سطح DataLeyer.
براي اين كار بهترين راه در نظر گرفتن يك روند براي تعيين و بازگذاري سطح دسترسي كاربران در برنامه ميباشد.
در زمان ثبت كاربران امكاني را براي مدير سيستم ايجاد كنيد تا بتواند بوسيله آن به كاربران محدوديت اعمال كند. مثلا حوزه كاري هر كاربر را مشخص كند و فعاليت هاي مجاز وي را (ذخيره،بازيابي،حذف،تغيير،. ....) تعيين كند. سپس اطلاعات مجوزهاي دسترسي (access license Information) كاربران را در فيلد مورد نظر در بانك ذخيره كنيد (بهتر است ابتدا اطلاعات با آلگوريتم هاي غير Hash كد شود) .
در زمان لاگين يوزر ها به برنامه اطلاعات مجوزهاي دسترسي را از ديتابيس خوانده و در برنامه بارگذاري كنيد. بدين منظور بهتر است يك كلاس براي ذخيره اطلاعات مجوزهاي دسترسي در برنامه خود تعبيه كنيد. در صورتي كه از معماري 7لايه استفاده ميكنيد ميتوانيد لايه Scurity خود را در زمان اجرا بوسيله اطلاعات مجوزهاي دسترسي پيكربندي كنيد در غير اين صورت براي نمايش هر فرم ميبايستي سري به اطلاعات مجوزهاي كاربر بزنيد و با توجه به آن به نمايش يا پنهان كردن عناصر روي فرم بپردازيد و فعاليتهاي كاربر را كنترل نماييد. در تصوير ضميمه شده عكس فرم مذكور در يكي از برنامه هام رو قرار دادم. انشاالله كه براتون مفيد باشه.
موفق، پيروز و سربلند باشيد.

سلام
اگه ممکن محبت کندید سورس اش را بدین
با تشکر

mari2011
یک شنبه 10 بهمن 1389, 18:09 عصر
با سلام،
لطفاً اگر کسی در مورد مجوز ها در C# کدی داره محبت کنه در فروم قرار بده .

بسیار ممنون میشم.

mhf3452
یک شنبه 11 مهر 1395, 08:03 صبح
با سلام دوست عزيز. در مطلبتون درست مشخص نشده بود كه سطح دسترسي مورد نظرتون در چه سطحي است بنابراين من هم جواب معمول رو نوشتم. يعني محدوديت دسترسي در سطح DataLeyer.
براي اين كار بهترين راه در نظر گرفتن يك روند براي تعيين و بازگذاري سطح دسترسي كاربران در برنامه ميباشد.
در زمان ثبت كاربران امكاني را براي مدير سيستم ايجاد كنيد تا بتواند بوسيله آن به كاربران محدوديت اعمال كند. مثلا حوزه كاري هر كاربر را مشخص كند و فعاليت هاي مجاز وي را (ذخيره،بازيابي،حذف،تغيير،. ....) تعيين كند. سپس اطلاعات مجوزهاي دسترسي (access license Information) كاربران را در فيلد مورد نظر در بانك ذخيره كنيد (بهتر است ابتدا اطلاعات با آلگوريتم هاي غير Hash كد شود) .
در زمان لاگين يوزر ها به برنامه اطلاعات مجوزهاي دسترسي را از ديتابيس خوانده و در برنامه بارگذاري كنيد. بدين منظور بهتر است يك كلاس براي ذخيره اطلاعات مجوزهاي دسترسي در برنامه خود تعبيه كنيد. در صورتي كه از معماري 7لايه استفاده ميكنيد ميتوانيد لايه Scurity خود را در زمان اجرا بوسيله اطلاعات مجوزهاي دسترسي پيكربندي كنيد در غير اين صورت براي نمايش هر فرم ميبايستي سري به اطلاعات مجوزهاي كاربر بزنيد و با توجه به آن به نمايش يا پنهان كردن عناصر روي فرم بپردازيد و فعاليتهاي كاربر را كنترل نماييد. در تصوير ضميمه شده عكس فرم مذكور در يكي از برنامه هام رو قرار دادم. انشاالله كه براتون مفيد باشه.
موفق، پيروز و سربلند باشيد.


با سلام و تشکر از راهنمایی شما دوست عزیز

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