نمایش نتایج 1 تا 9 از 9

نام تاپیک: تغییر سطح دسترسی role ها به صورت داینامیک

  1. #1
    کاربر دائمی آواتار mehrdad201
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شمال ایران (مازندران)
    پست
    587

    تغییر سطح دسترسی role ها به صورت داینامیک

    سلام

    خواستم بپرسم آیا در دات نت 2 این امکان هست که به صورت داینامیک بشه سطح دسترسی role ها رو تغییر داد.

    منظورم از داینامیک اینه که صفحه ای رو در برنامه داشته باشیم که یوزر اصلی (مثلا ادمین) در اونجا مشخص کنه که role شماره یک باید به صفحات 1 و 2 دسترسی داشته باشه و role شماره 2 باید به صفحه 2 و 3 دسترسی داشته باشه.


    میدونم که این کار رو از طریق asp.net configuration انجام میدن اما ما میخوایم در سیستممون بخشی داشته باشیم که مثل این قسمت عمل کنه. (البته فارسی شده)

    لطفا دوستانی که در این مورد اطلاعات دارند راهنمایی کنند.

  2. #2
    کاربر دائمی آواتار mehrdad201
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شمال ایران (مازندران)
    پست
    587
    کسی نیست ما رو راهنمایی کنه ؟!

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    Web
    پست
    346
    نقل قول نوشته شده توسط mehrdad201 مشاهده تاپیک
    سلام

    خواستم بپرسم آیا در دات نت 2 این امکان هست که به صورت داینامیک بشه سطح دسترسی role ها رو تغییر داد.

    منظورم از داینامیک اینه که صفحه ای رو در برنامه داشته باشیم که یوزر اصلی (مثلا ادمین) در اونجا مشخص کنه که role شماره یک باید به صفحات 1 و 2 دسترسی داشته باشه و role شماره 2 باید به صفحه 2 و 3 دسترسی داشته باشه.


    میدونم که این کار رو از طریق asp.net configuration انجام میدن اما ما میخوایم در سیستممون بخشی داشته باشیم که مثل این قسمت عمل کنه. (البته فارسی شده)

    لطفا دوستانی که در این مورد اطلاعات دارند راهنمایی کنند.
    راهش استفاده از provider هاست
    کار نسبتا سختی هست ولی میشه انجامش داد
    sitemap provider هست که نقشه ساییتونو به شکل dynamic بکشه البته اینجا باید یه فیلدی هم برای ثبت role های مجاز برای دسترسی داشته باشید که , از هم جدا میشن
    سپس فعال کردن security این provider تو web.config تو قسمت اعلان provider هست
    همه این کارا باعث میشه فقط صفحه به کاربرانی که role خاصی رو که برای اون صفحه تعریف شده رو ببینن گفتم این فقط نمیذاره صفحات رو تو site map و منو هاتون نبینن ولی اگه مستقیم
    آدرس رو تو آدرس بار بزنن میتونن ازش رد بشن برای اینکه این اتفاق هم نیفته و فقط کاربرانی که اون رول رو دارن فقط بتونن وارد صفحه بشن سه راه دارید
    1- طراحی یه provider سفارشی که درخواستهای کاربران رو مدیریت کرده و فقط به کاربرینی اجازه دسترسی بده که مجازن
    2- استفاده از global.ascx که میشه تو رویداد begin_request که اسم دقیقش یادم نیست استفاده کرد البته تا حالا اینو تستش نکردم ولی احتمال 90% جواب بده
    3- طراحی یه کلاس که زمان load صفحات role های مجاز رو چک بکنه
    که این راه 3 از راهه 1 راحتتر هست ولی کار حرفه ای نیست ولی خوب جواب میده
    موفق باشید

  4. #4
    کاربر دائمی آواتار mehrdad201
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شمال ایران (مازندران)
    پست
    587
    ممنون دوست عزیز

    با اقای راد هم صحبت میکردم ایشون گفتن از formsauthertication میشه استفاده کرد...

    در این مورد اطلاعاتی دارید ؟!؟؟؟؟؟؟؟؟؟؟؟؟

  5. #5
    Role کاربر رو در کوکی ذخیره کن.
    یا از یک HttpModule استفاده کن یا در روال AuthorizeRequest فایل Global.asax سطح دسترسی رو با استخراج Role از کوکی بررسی کن.

    موفق باشید.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    Web
    پست
    346
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    Role کاربر رو در کوکی ذخیره کن.
    یا از یک HttpModule استفاده کن یا در روال AuthorizeRequest فایل Global.asax سطح دسترسی رو با استخراج Role از کوکی بررسی کن.

    موفق باشید.
    با سلام به دوست عزیز آقای بهروز
    البته این provider ها که گفتم کلا همشون از httpmodule ها ارث بری دارن و کلا با اون سیستم کار میکنن ولی تا جایی که من فهمیدم ایشون میخوان برای هر صفحه جداگانه role ها رو چک بکنن و باید از httpmodule ها یا provider استفاده بکنن بالاخره هر دو تا راه صحیح هستند
    موفق باشید

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    Web
    پست
    346
    ببخشید این یادم رفته بود بگم
    این راهم میشه استفاده کنی چند ماه پیش یه مقاله می خوندم تو msdn این راهم خوبه
    ساخت یک custom web form که خیلی ساده هست که از همون web form ارث بری داره و می تونی تو begin_request تش کارایی که میخوای انجام بدی یعنی همون چک کردن role ها رو
    بعدش دیگه باید تو اعلان هر صفحه این module رو register@> ثبتش کنی و به جای tag form تو
    قسمت html صفحه از tagi که ثبت کردی استفاده بکنی
    موفق باشی

  8. #8
    کاربر دائمی آواتار mehrdad201
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شمال ایران (مازندران)
    پست
    587
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    Role کاربر رو در کوکی ذخیره کن.
    یا از یک HttpModule استفاده کن یا در روال AuthorizeRequest فایل Global.asax سطح دسترسی رو با استخراج Role از کوکی بررسی کن.

    موفق باشید.
    ممنون. جناب راد

    این رول AuthorizeRequest قبل از beginrequest فراخوانی میشه؟

    در ضمن اگه کاربر کوکی رو یلاک کرده باشه آیا مشکلی پیش میاد ؟!؟!!؟!

  9. #9
    این رول AuthorizeRequest قبل از beginrequest فراخوانی میشه؟
    خیر. بعد از اون فراخوانی میشه.
    اگه کاربر کوکی رو یلاک کرده باشه آیا مشکلی پیش میاد ؟!؟!!؟!
    بله مشکل پیش میاد. اما این مورد خیلی به ندرت اتفاق می افته. طوری که احتمال وقوعش نباید مانع از تصمیم شما برای استفاده از کوکی بشه.

    موفق باشید.

تاپیک های مشابه

  1. role دقیقا به چه دردی میخوره؟
    نوشته شده توسط mehrdad201 در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: دوشنبه 17 دی 1386, 21:27 عصر
  2. تفاوت Database Role و Application Role
    نوشته شده توسط پرواز در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 02 آذر 1386, 23:23 عصر
  3. اضافه کردن ROLE با کد نویسی به role های Membership
    نوشته شده توسط hamed_bostan در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 21 اسفند 1385, 13:05 عصر
  4. یه سوال در مورد role
    نوشته شده توسط متین جان در بخش SQL Server
    پاسخ: 5
    آخرین پست: جمعه 07 مهر 1385, 23:21 عصر
  5. ROLe
    نوشته شده توسط hasankhani در بخش Oracle
    پاسخ: 6
    آخرین پست: پنج شنبه 04 خرداد 1385, 21:34 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •