تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: مشکلاتي با تشخيص هويت

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2009
    پست ها
    32

    پيش فرض مشکلاتي با تشخيص هويت

    سلام.
    من از تشخيص هويت پيشرفته اي که در لينک زير
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    توسط استاد دلشاد آموزش داده شده براي سايتم استفاده کردم.

    منتها الآن به من يه مشکلي گوشزد شده که وقتي خود فايل ضميمه آخر مقاله رو هم چک کردم ديدم اونجا هم اين مشکل وجود داره.

    مسئله اينه فرضاً يه کاربر با اسم کاربري a وارد ميشه بدون اينکه خروج رو بزنه يه نام کاربري ديگه رو در لوگين وارد ميکنه و مي تونه وارد بشه به من گفتن نبايد اين اتفاق بيفته.
    در واقع من مي خوام اگه کاربر هنوز خارج نشده بود و خواست با يه نام کاربري ديگه لوگين کنه بهش پيغام بده که ابتدا خارج شويد و سپس با نام کاربري جديد لوگين کنيد.

    ممنون ميشم راهنمايي کنيد چطور ميشه اين مشکل رو حل کرد؟
    يه مسئله ديگه اينه که وقتي کاربر خروج رو زد و دکمه back براوزر رو مي زنه نمي دونم چرا وقتي بار اول بک مي زنه اون رو به عنوان کاربر ميهمان تشخيص مي ده ولي بار دوم با نام کاربريش بهش خوش آمد ميگه که اينم لطف کنيد بگيد چه کار کنم تا اين اتفاق نيفته؟

    واقعاً ديگه موندم چيکار کنم. رفتم با کنترلهاي آماده خود Asp.net امتحان کردم ديدم هر دو مشکل چه مشکل Back براوزر و چه ورود يه فرد با نام کاربري جديد در حالي که خروج رو نزده و صفحه رو نبسته اونجا هم وجود داره.

    چرا پس اين ايراد رو از کار من گرفتن؟

    خوب حالا چي کار ميشه کرد؟


    لطفاً راهنمايي کنيد.
    Last edited by بهاره فيضي; 22-11-2012 at 12:07.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در واقع من مي خوام اگه کاربر هنوز خارج نشده بود و خواست با يه نام کاربري ديگه لوگين کنه بهش پيغام بده که ابتدا خارج شويد
    لینک را دیدم، یک آموزش با کدهای ساده آموزشی است، قرار نیست شما همینطوری از این کدها استفاده کنید...
    در واقع روش صحیح آن است که مطالب و کدها ادراک شود و در جهت آموزش استفاده شود...
    این در واقع نوعی سرنخ است، شما باید پیگیری اش کنید و پس از خواندن مقالات بیشتر و جمع آوری اطلاعات از تجمیع نتیجه آموزشی خودتان کدی برای خودتان بنویسید

    اگر این روند درک به انجام میرسید آنگاه اضافه کردن یک IF جدید در صفحه لوگین جهت عدم ورود یا رویت کاربران قبلاً وارد شده کار سختی نبود.
    مثلاً کافی است یک If در Page_Load فرم login اضافه کنید تا کاربرانی که لوگین کرده اند را به صفحه دیگر (مثلاً صفحه اول سایت) Redirect کنید، کاملاً مشابه (و شاید از نقطه نظر برعکس) زمانی که کاربری که لوگین نکرده نمیتواند یک صفحه خاص را مشاهده کند.

    ... وقتي کاربر خروج رو زد و دکمه back براوزر رو مي زنه ...
    این مسئله معمولاً بدلیل کش داخلی مروگر است، که بعضاً شامل کش صفحه (و عدم درخواست مجدد) و یا کش هدر HTTP میشود
    کدی مانند این در صفحه MaterPageLoad کش صفحه را غیر فعال خواهد کرد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2009
    پست ها
    32

    پيش فرض

    خيلي جالبه من در سايت asp.net هم اين سوال رو پرسيده بودم و جوابي که بهم داده شد فکر مي کنم همون جواب شما هست
    Place your authenticated status checking at the login form and redirect user to the default landing page if authenticated.
    ولي من چون صفحه لوگين مجزا ندارم و يه MasterPage دارم که کنترل لوگين که به صورت يوزرکنترل درست کردم در اون انداخته شده
    و صفحه default من همون صفحه لوگين هستش فکر کردم اين راه حل در اينجا صدق نمي کنه آيا به نظرتون بازم اين راهکار شما جواب ميده. نمي دونم شايد من قضيه رو خيلي پيچيده کردم براي خودم.

    .................................

    اومدم کدهاي زير رو در رويداد کليک دکمه لوگين نوشتم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و در صفحه Default4 يک پيغام که براي لوگين مجدد بايد خارج شويد و يک دکمه خروج گذاشتم مشکل حل شد.
    ممنونم هم از راهنماييتون هم از تلنگري که بهم زدين.
    Last edited by بهاره فيضي; 22-11-2012 at 22:20.

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2009
    پست ها
    32

    پيش فرض

    سلام.
    از لينک زير استفاده کردم و بدون غيرفعال کردن کش اين کار رو انجام دادم
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    در آخر اين لينک ظاهراً همون کدهايي که شما گفتيد رو گذاشته ولي خوب من چون نمي خواستم کش غيرفعال بشه از اون روش استفاده نکردم. گرچه هنوز از اين روشي هم که استفاده کردم 100% راضي نيستم ولي خيلي جستجو کردم نتونستم نتيجه بهتري بگيرم.
    ممنونم.

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    گمانم پس چیزی برای پاسخ دادن نمانده ...
    ولي من چون صفحه لوگين مجزا ندارم و يه MasterPage دارم که کنترل لوگين که به صورت يوزرکنترل درست کردم در اون انداخته شده
    اگر پنلی برای لوگین شدن در Master دارید خود میتوانید پس از لوگین کردن کاربر پنل را مخفی و پنل دیگری مختص عضویت همان کاربر نشان دهید ...

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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •