PDA

View Full Version : سوال: بهترین روش های احراز هویت در ASP.net



☺☻☺☻☺☻
جمعه 18 دی 1388, 21:57 عصر
یک بانک اطلاعاتی که دارای یک جدول به نام Users داریم
میخواستم وقتی User لاگین کرد اون رو لاگین نگه دارم -
نمیخوام از Session و کوکی استفاده کنم
پروژه هم با ASPNET MVC 2 هست و نمی خوام از Authentication اون استفاده کنم


چه روشی رو پیشنهاد میکنید ؟

اوبالیت به بو
شنبه 19 دی 1388, 00:00 صبح
میخواستم وقتی User لاگین کرد اون رو لاگین نگه دارم -
نمیخوام از Session و کوکی استفاده کنم
پس چی کار می خواید بکنید؟

notelo
شنبه 19 دی 1388, 11:58 صبح
بهترین راه استفاده از session هست که شما نمی خاهید استفاده کنید.فکر نمیکنم راه حلی جز موارد ذکر شده توسط شما وجود داشته باشه.

h.jaza
شنبه 19 دی 1388, 13:36 عصر
تائید میشه: بهترین راه استفاده از Session هاس.

Rejnev
شنبه 19 دی 1388, 14:19 عصر
من یک پروژه دانشجویی نوشتم که از session استفاده نکردم و برای ذخیره مشخصات کاربر در معماری لایه ای در لایه Logic مشخصات رو در فیلدهای کلاس ذخیره کردم.البته نمیدونم وقتی یکی دیگه login کرد یک instance جدید از برنامه اجرا میشه یا نه که اگه جواب نه باشه روش بالا برای login همزمان چند نفر عملی نیست. و اگه instance جدید ایجاد بشه یعنی اینکه برای هر کاربر یک برنامه اجرا میشه و داخل هر برنامه مشخصات کاربر قرار داره

h.jaza
شنبه 19 دی 1388, 14:30 عصر
این تفکر ویندوزی هست و کاملا توی دنیای وب مشکل داره و اشتباه هستش و همون طوری که خودتم حدس زدی با ورود شخص ثالثی اطلاعات می پره و تغییر می کنه...

ironman
شنبه 19 دی 1388, 22:09 عصر
در تایید حرفای دوستان باید بگم که بهترین راه استفاده از session هست و به نظر من اگه راه دیگه ای باشه بازم حول session ها میگرده

☺☻☺☻☺☻
دوشنبه 21 دی 1388, 10:54 صبح
گوگل از چه روشی استفاده میکنه ؟
از session نیست
از کوکی هم که استفاده نمیکنه - چون تنها کوکی که میسازه به نام remember و مقدار true
چیکار میکنه ؟

mosibatzadeh
دوشنبه 12 بهمن 1388, 20:11 عصر
session & cookie دو روی یک سکه هستند.
http پروتکلی connectionless هست و معنی اون اینه که بدون استفاده از راهکارهای خاص نمیشه اعمال کاربران سایت رو به هم مربوط کرد. یکی از این راهکارها که معمول ترینشون هم هست کوکیه.
یه راه حل هست که دات نت هم ساپورت می کنه و استفاده از session key در URL هست و برای کاربرانی که کوکی رو غیر فعال کردن مناسبه

m.hamidreza
چهارشنبه 14 بهمن 1388, 12:35 عصر
این سوال شما مثه این میمونه که من بگم میخوام برم ایمیلمو چک کنم ولی نمیخوام از اینترنت استفاده کنم! نتیجش این میشه که من نخواهم توانست ایمیلمو چک کنم!

موفق باشید.

محمدامین شریفی
جمعه 23 بهمن 1388, 21:57 عصر
یک بانک اطلاعاتی که دارای یک جدول به نام Users داریم
میخواستم وقتی User لاگین کرد اون رو لاگین نگه دارم -
نمیخوام از Session و کوکی استفاده کنم
پروژه هم با ASPNET MVC 2 هست و نمی خوام از Authentication اون استفاده کنم


چه روشی رو پیشنهاد میکنید ؟



میشه دلیلش را بگی که چرا توی MVC نمی خوای از Authorizing استاندارد استفاده کنی؟
در ضمن برای برنامه ات هاست ِ بخصوصی را سراغ داری؟

موفق باشی.

fa_karoon
شنبه 11 اردیبهشت 1389, 13:06 عصر
دوستان حق با ایشونه سشن بسیار نا امن هست

h.jaza
شنبه 11 اردیبهشت 1389, 15:34 عصر
دوستان حق با ایشونه سشن بسیار نا امن هست

Session نا امنه؟؟؟

mmnoody2006
یک شنبه 12 اردیبهشت 1389, 11:15 صبح
نمی دونم چرا دوستان همه چیز رو درغالب خاصی می گنجونن
خب این دوستمون می تونن استاندارد ها و پروتکل های وب رو تغییر بده و با ساخت روش جدیدی
خدمتی هم به جامعه برنامه نویسان کرده باشن ولی
دوست عزیز چرا از Authorizingاستفاده نمی کنی چون هم امنه هم قابلیت های فراوانی داره ؟؟/
دلیلش رو بگو شاید دوستان کمکت کردن :تشویق:

Alireza_Salehi
یک شنبه 12 اردیبهشت 1389, 18:37 عصر
مدیریت حالت در پروتکل HTTP کلا از دو راه امکان پذیره URL , Cookie ....
شما هر روشی اختراع کنید در نهایت متکی به یکی از این دو خواهد بود.

حتی Session هم در نهایت برای ردیابی کاربران متکی به یکی از این دو است.

این همه وب سایت از همین روش برای امنیت استفاده می کنند، مشکلی هم ندارند. امنیت یک وب سایت توسط روشهای معمول انجام میشه و این روشها در سطوح مختلف و با ابزارهای مختلف امن می شوند.

دنبال اختراع مجدد چرخ نباشید.

bachebahal_1363
یک شنبه 12 اردیبهشت 1389, 20:36 عصر
دنبال اختراع مجدد چرخ نباشید
توروخدا این جمله رو که فقط مخصوص ایرانی هاست بکار نبرید . حداقل در این سایت
به خدا این جمله فقط برای آدم های تنبلی هست که می خوان یه چیز آماده داشته باشن بدون اینکه بدونن اون از کجا اومده و چطور کار می کنه ، واقعا فکر کردید که چرا برنامه نویسی در ایران اینقدر ضعیف است ؟
البته بگم در وب بغیر از cookie و url چیز دیگه ای وجود نداره اما این دلیلی نمی شه که ما هم نتونیم بشینیم فکری بکنیم که شاید دنیا رو تحت وب متحول بکنیم
بهتره بجای اینکه بشینیم تا چرخ ها اختراع بشه بعد ما ازش استفاده کنیم خودمونم آستینا رو بالا بزنیم و چندتا چرخ هم خودمون اختراع کنیم

mmnoody2006
یک شنبه 12 اردیبهشت 1389, 20:53 عصر
با بچه باحال موافقم من قبلا یه نمونه فوق حرفه ای رو دیدم که بازم از همین روش های موجود
ولی به صورت خیلی حرفه ای استفاده می کنه که توی Yaf forum بکار گرفته شده شاید کمکت کنه

Alireza_Salehi
یک شنبه 12 اردیبهشت 1389, 23:07 عصر
توروخدا این جمله رو که فقط مخصوص ایرانی هاست بکار نبرید . حداقل در این سایت
به خدا این جمله فقط برای آدم های تنبلی هست که می خوان یه چیز آماده داشته باشن بدون اینکه بدونن اون از کجا اومده و چطور کار می کنه ، واقعا فکر کردید که چرا برنامه نویسی در ایران اینقدر ضعیف است ؟
البته بگم در وب بغیر از cookie و url چیز دیگه ای وجود نداره اما این دلیلی نمی شه که ما هم نتونیم بشینیم فکری بکنیم که شاید دنیا رو تحت وب متحول بکنیم
بهتره بجای اینکه بشینیم تا چرخ ها اختراع بشه بعد ما ازش استفاده کنیم خودمونم آستینا رو بالا بزنیم و چندتا چرخ هم خودمون اختراع کنیم
گل پسر ، وقتی پروتکل یک چیزی رو ساپورت نمیکنه ،هر روشی شما به کار ببری یه جوری به این دوتا وابسته هست، حالا از دیتابیس، آی پی و هر ترکیب دیگه ای هم استفاده کنی.

روشهای مختلفی برای امن کردن سایت استفاده میشه، که پایه همه اونها تقریبا یکسانه. Forms Authentication روش معتبر و رایجی هست،

حالا شما فکر کنم ما بیسوادیم، برو خودت از اول راهی که ما رفتیم رو برو ببینم به کجا میرسی، تا یکسال آینده منتظر دیدن شیوه نوین شما هستم.

شما یک روش برای ردیابی کاربر، به جز موارد فوق به ما نشون بده....

پایه ثابته صرفا شاخ و برگها و جزئیاتش رو زیاد می کنند.

bachebahal_1363
سه شنبه 14 اردیبهشت 1389, 00:14 صبح
گل پسر ، وقتی پروتکل یک چیزی رو ساپورت نمیکنه ،هر روشی شما به کار ببری یه جوری به این دوتا وابسته هست، حالا از دیتابیس، آی پی و هر ترکیب دیگه ای هم استفاده کنی.

روشهای مختلفی برای امن کردن سایت استفاده میشه، که پایه همه اونها تقریبا یکسانه. Forms Authentication روش معتبر و رایجی هست،

حالا شما فکر کنم ما بیسوادیم، برو خودت از اول راهی که ما رفتیم رو برو ببینم به کجا میرسی، تا یکسال آینده منتظر دیدن شیوه نوین شما هستم.

شما یک روش برای ردیابی کاربر، به جز موارد فوق به ما نشون بده....

پایه ثابته صرفا شاخ و برگها و جزئیاتش رو زیاد می کنند.

وقتی شما می گین پرتکل ساپورت نمی کنه یعنی ما هیچ فکر دیگه ای در مورد هیچ راه حل دیگه ای نکنیم یا حتی پیشنهادی رو هم ندهیم؟
بنده هم در مورد Authentication گفتم که فعلا راه حلی بغیر از راه حل هایی که در پست قبلی گفتم وجود نداره که تکنولوژی های جدید مانند Session هم در نهایت Cookie هستند نیست اما منظور من جلمه ای هست که فقط ما ها بدون اینکه حتی یک بار هم بهش فکر کنیم برای هم تکرار می کنیم
(( چرخ را دوباره اختراع نکنین))
چرا اختراع نکنیم
چرا نشینیم پرتکل ها و MetaData هایی که آمریکایی ها و یا کشور های دیگه دارند رو برای یک بار هم که شده برای خودمون بازنویسی کنیم
به نظر شما این درست هست که هر ساله بشینیم ببینیم مایکروسافت چه کار می کنه یا فلان شرکت دیگه چه راه حلی داره ؟
چرا ما راه حل ندیم؟
کسانی که وب رو راه انداختن واقعا پیش بینی تا قیامت رو برای شبکه و وب کردند ؟
واقعا تنها راه دسترسی به اطلاعات فقط از طریق وب کنونی امکان پذیره ؟
اینها سوالاتی هست که حداقل ما از خودمان باید بپرسیم تا به راه حل برسیم ، اما ما فقط می شینیم ببینیم کی چکار می کنه تا ما از اون فقط استفاده کنیم اونم نه استفاده صحیح چون حتی ما اون چرخ ساخته شده رو هم حتی یک بار درست طرز استفاده اون رو یاد نگرفتیم.

Alireza_Salehi
سه شنبه 14 اردیبهشت 1389, 06:51 صبح
وقتی شما می گین پرتکل ساپورت نمی کنه یعنی ما هیچ فکر دیگه ای در مورد هیچ راه حل دیگه ای نکنیم یا حتی پیشنهادی رو هم ندهیم؟
بنده هم در مورد Authentication گفتم که فعلا راه حلی بغیر از راه حل هایی که در پست قبلی گفتم وجود نداره که تکنولوژی های جدید مانند Session هم در نهایت Cookie هستند نیست اما منظور من جلمه ای هست که فقط ما ها بدون اینکه حتی یک بار هم بهش فکر کنیم برای هم تکرار می کنیم
(( چرخ را دوباره اختراع نکنین))
چرا اختراع نکنیم
چرا نشینیم پرتکل ها و MetaData هایی که آمریکایی ها و یا کشور های دیگه دارند رو برای یک بار هم که شده برای خودمون بازنویسی کنیم
به نظر شما این درست هست که هر ساله بشینیم ببینیم مایکروسافت چه کار می کنه یا فلان شرکت دیگه چه راه حلی داره ؟
چرا ما راه حل ندیم؟
کسانی که وب رو راه انداختن واقعا پیش بینی تا قیامت رو برای شبکه و وب کردند ؟
واقعا تنها راه دسترسی به اطلاعات فقط از طریق وب کنونی امکان پذیره ؟
اینها سوالاتی هست که حداقل ما از خودمان باید بپرسیم تا به راه حل برسیم ، اما ما فقط می شینیم ببینیم کی چکار می کنه تا ما از اون فقط استفاده کنیم اونم نه استفاده صحیح چون حتی ما اون چرخ ساخته شده رو هم حتی یک بار درست طرز استفاده اون رو یاد نگرفتیم.

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

به هر حال هر روز امکانات جدید تری در حال افزوده شدن به بستر وب هستند و توقف هم نمی کنند.

bachebahal_1363
چهارشنبه 15 اردیبهشت 1389, 19:12 عصر
ببینین من با کلمه چرخ رو دوباره اختراع کردن مشکل دارم
شما الان دارین حرف های من رو می زنین اما دلیلی نداره که به بقیه بقبولونیم که اونور دنیا هرکی هرچی ساخته وحی منزله پس نباید چرخ رو دوباره اختراع کرد

کسی جلوی فکر کردن شما را نمی گیرد
خوب زمانی که شما می گین آقای فلانی چرخ رو دوباره اختراع نکن همین شما هستین که جلوی فکر کردن بقیه رو می گیرین

اگر امکان داره چند نمونه از چرخ هایی که ایرانی ها در برنامه نویسی و وببه صورت ساختاری ارائه دادند رو برای من مثال بزنین؟
چرا زمانی که نمی تونین خودتون چرخی رو اختراع کنین به بقیه هم توصیه می کنین اختراع نکنن
ازتون خواهش می کنم یک بار هم که شده به هم توصیه این رو بکنیم که بیایم ایرانی ها رو در ساخت زیر ساخت های شبکه و یا نرم افزار و یا سخت افزار با تجربه گرفتن از تکنولوژی های موجود فراخوانی کنیم نه اینکه صرفا مصرف کننده باشیم

mmnoody2006
چهارشنبه 15 اردیبهشت 1389, 22:31 عصر
ازتون خواهش می کنم یک بار هم که شده به هم توصیه این رو بکنیم که بیایم ایرانی ها رو در ساخت زیر ساخت های شبکه و یا نرم افزار و یا سخت افزار با تجربه گرفتن از تکنولوژی های موجود فراخوانی کنیم نه اینکه صرفا مصرف کننده باشیم

بعضی وقتا از اینکه هندی ها اینقدر توی نرم افزار پیشرفت کردن متعجب می شم !!!!
شاید اونا علاقه عجیبی به اختراع دوباره چرخ دارن هان؟؟؟:متفکر:

ehsan2007
چهارشنبه 15 اردیبهشت 1389, 23:12 عصر
یک راه حل به ذهنم میرسه تمام صفحات سایتتو روی یک صفحه درست کنی به وسیله آجاکس
آجاکسی هم که استفاده میکنی به صورت دستی بنویسی نه از کنترل های ماکروسافت
هر کاربری یک لوگین انجام میده
اون نام کاربریشو رو بر حسب زمان سرور و یک کلید رمز که هر ساعت یک بار عوض میشه رمزنگاری کن (برای امنیت بالا)
و بعد از لوگین در داخل مثلا یک متغیر جاوا اسکریپت مرورگر کاربر ذخیره کن
حالا کاربر بعد از لوگین درخواستهایی به سرور میفرسته که به وسیله آجاکس محتویات متغیر جاوایی که ذخیره کردیرو برای سرور بفرست رمز نگاریرو رو باز کن بعدشم در خواستو جواب بده
یک مزایایی داره یک معایبی
که فکر کنم معایبش از مزایایش بیشتره پس همون Session استفاده کنی بهتره
این کاری هم که گفتم همون استفاده از url که دوستان اشاره کردن
موفق باشی

mohsen_namad
پنج شنبه 16 اردیبهشت 1389, 00:17 صبح
کسی میتونه یک نمونه کد احراز هویت با سیشن بزاره؟

Alireza_Salehi
پنج شنبه 16 اردیبهشت 1389, 01:28 صبح
اصلا بحث سر این چیزها نیست،
شما به جای بحث فنی رفتی سر فلسفه.

شما اول باید بگی آقا من یک سایتی دارم در محیط x - این محیط n تا تحدید براش وجود داره، حالا m تا راه حل (قبل از من بقیه به فکرشون رسیده ونیاز داشتن) برای رفع تهدید هم درست شده.
سوال آیا m تا راه حل n تا مشکل من رو حل میکنه؟
جواب اول: اگر حل میکنه که دیگه بحثی نیست. کار تمومه.
جواب دوم: نه، چند تا از تحدید ها رو نمیتونه رفع کنه: پس باید راه جدیدی اضافه کرد.

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

از نوع سوالتون مشخصه، به نظرم شما تسلط به روش های موجود ندارید. الان باید دنبال یادگیری باشید نه اختراع....

موفق باشید

mohsen_namad
پنج شنبه 16 اردیبهشت 1389, 01:51 صبح
کسی میتونه یک نمونه کد احراز هویت با سیشن بزاره؟

meisam3322
پنج شنبه 16 اردیبهشت 1389, 09:12 صبح
مطمئن باش فقط با Session ميشه، با Cookie مسخره است واسه Login استفاده كني. از كوكي واسه نگه داشتن نام Client مورد نظر يا تاريخ و از اينجور چيزا استفاده مي شه، چون اگه طرف تنظيم مرورگرش كوكي را بسته باشه ديگه، واقعا خسته نباشين. واسه همين از Session استفاده كن. Session فوق العاده قدرتمند و سريع ، حتما كارايي اونو نمي دوني.

موفق باشي

Alireza_Salehi
پنج شنبه 16 اردیبهشت 1389, 09:38 صبح
مطمئن باش فقط با Session ميشه، با Cookie مسخره است واسه Login استفاده كني. از كوكي واسه نگه داشتن نام Client مورد نظر يا تاريخ و از اينجور چيزا استفاده مي شه، چون اگه طرف تنظيم مرورگرش كوكي را بسته باشه ديگه، واقعا خسته نباشين. واسه همين از Session استفاده كن. Session فوق العاده قدرتمند و سريع ، حتما كارايي اونو نمي دوني.

موفق باشي
session هم از کوکی یا URL استفاده میکنه در عمل فرقی نمی کند.

fa_karoon
دوشنبه 20 اردیبهشت 1389, 13:10 عصر
دوستان توجه کنید اگر کاربران سطح دسترسی و نقش هایی رو داشته باشند که صفحات براساس آنها به کاربر نمایش داده شود آن وقت نگه داشتن نقش کاربران در سشن بسیار بسیار خطرناک است

محمدامین شریفی
سه شنبه 21 اردیبهشت 1389, 18:40 عصر
دوستان توجه کنید اگر کاربران سطح دسترسی و نقش هایی رو داشته باشند که صفحات براساس آنها به کاربر نمایش داده شود آن وقت نگه داشتن نقش کاربران در سشن بسیار بسیار خطرناک است

پیشنهاد شما چیست؟

behrad2012
جمعه 11 بهمن 1392, 00:21 صبح
سلام
بنظرم خوبه که ی جدول تو دیتابیس داشته باشیم و هر کس که لاگین شد تو یکی از فیلدهاش ایز لاگین را ترو کنیم
بعد از طریق واکشی اطلاعات توی ی دیتاست از اطلاعات استفاده کنیم
میتونیم فیلدهاش را زیاد کنیم مثلا سطح دسترسی و غیره

reza_accp
دوشنبه 13 مرداد 1399, 17:54 عصر
مطمئن باش فقط با Session ميشه، با Cookie مسخره است واسه Login استفاده كني. از كوكي واسه نگه داشتن نام Client مورد نظر يا تاريخ و از اينجور چيزا استفاده مي شه، چون اگه طرف تنظيم مرورگرش كوكي را بسته باشه ديگه، واقعا خسته نباشين. واسه همين از Session استفاده كن. Session فوق العاده قدرتمند و سريع ، حتما كارايي اونو نمي دوني.

موفق باشي

مشکل session اینه که بعد یه مدت محدود expire میشه
راه حلی سراغ دارید که بشه زمانش و بیشتر کرد؟ مثلاً 5 ساعت؟ یا 1 روز؟