PDA

View Full Version : احراز هويت و اجازه دسترسي بوسيله برنامه نويسي و نه امكانات آماده asp.net



p.parsaee
سه شنبه 19 اردیبهشت 1391, 01:23 صبح
سلام
دوستان من نحوه استفاده از امكانات احراز هويت و اجازه دسترسي رو بوسيله امكانات آماده asp.net تقريبا مي دونم. اما خوب مي خواستم اين كار رو خودم بوسيله برنامه نويسي انجام بدم تا كنترل بيشتري روش داشته باشم. كسي نمونه كدي، آموزشي، يا هر چيز ديگه اي كه بتونم اين موضوع رو ازش ياد بگيرم سراغ داره؟
خيلي ممنون

aspismylove
سه شنبه 19 اردیبهشت 1391, 04:21 صبح
سلام
دوستان من نحوه استفاده از امكانات احراز هويت و اجازه دسترسي رو بوسيله امكانات آماده asp.net تقريبا مي دونم. اما خوب مي خواستم اين كار رو خودم بوسيله برنامه نويسي انجام بدم تا كنترل بيشتري روش داشته باشم. كسي نمونه كدي، آموزشي، يا هر چيز ديگه اي كه بتونم اين موضوع رو ازش ياد بگيرم سراغ داره؟
خيلي ممنون

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

mmnoody2006
سه شنبه 19 اردیبهشت 1391, 13:36 عصر
دوست عزیز طبق تجربیات خودم باید خدمتت عرض کنم بهترین روش استفاده از membership تعبیه شده در دات نت هست که برای کنترل بیشتر می تونی از provider های خودت استفاده کنی

alonemm
سه شنبه 19 اردیبهشت 1391, 14:15 عصر
سلام
دوستان من نحوه استفاده از امكانات احراز هويت و اجازه دسترسي رو بوسيله امكانات آماده asp.net تقريبا مي دونم. اما خوب مي خواستم اين كار رو خودم بوسيله برنامه نويسي انجام بدم تا كنترل بيشتري روش داشته باشم. كسي نمونه كدي، آموزشي، يا هر چيز ديگه اي كه بتونم اين موضوع رو ازش ياد بگيرم سراغ داره؟
خيلي ممنون

باسلام:

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

بعد با ایجاد کلاس و متدهای Login به کمک سشن ها این عملیات رو به صورت دستی پیاده سازی کنید.

General-Xenon
سه شنبه 19 اردیبهشت 1391, 14:56 عصر
سلام , منظورت از احراز هویت چیه ؟
اینکه کاربرا رو تشخیص بدی و اجازه دسترسی براشون تعریف کنی ؟
مثلا کاربر مدیر , کاربر ویژه و کاربر معمولی رو از هم تشخیص بدی؟

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

موفق باشین

// ba in dastoor mitooni safahate Lock shodeye Sitet ro baz koni ..
// yani ejazeye dast resi bedii
System.Web.Security.FormsAuthentication.RedirectFr omLoginPage("Username", false);

//ba in dastoor mitooni tashkhis bedii kodom karbarat alan Login shode...
//Yani kodom username alan login karde va dare safaht ro baz mikone va estefade mibare
string UserLgd = User.Identity.Name;

p.parsaee
چهارشنبه 20 اردیبهشت 1391, 00:59 صبح
از همه دوستان بابت جوابايي كه داديد ممنونم و از اينكه دير به اين تاپيك سر زدم معذرت مي خوام.


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

بله دقيقا منظورم اينه كه كاربرا بتونن login كنن (احراز هويت) و بتونم براشون نقش تعريف كنم (همون اجازه دسترسي) مثل نقش مدير و كاربر معمولي


دوست عزیز طبق تجربیات خودم باید خدمتت عرض کنم بهترین روش استفاده از membership تعبیه شده در دات نت هست که برای کنترل بیشتر می تونی از provider های خودت استفاده کنی
متشكرم. من ميخوام پروژه اي رو انجام بدم كه امنيت خيلي مهم هست و دليل اين كه خودم ميخوام با كدنويسي اين كارو انجام بدم اينه كه اگه بعدا مشكلي پيش اومد خيلي راحت بتونم تغييرات رو ايجاد كنم.


باسلام:

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

بعد با ایجاد کلاس و متدهای Login به کمک سشن ها این عملیات رو به صورت دستی پیاده سازی کنید.

ممنون از راهنمايي تون.
من توي پايگاه داده دو جدول ساختم يكي جدول براي مديران هست و دومي جدول براي كاربران. دليل اينكه جدول مديران و كاربران رو جدا كردم اينه كه كاربران يك فيلدهايي رو بايد داشته باشن كه مديران ندارن. مثل فيلد آدرس يا تلفن يا موبايل و غيره.

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


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

موفق باشین

// ba in dastoor mitooni safahate Lock shodeye Sitet ro baz koni ..
// yani ejazeye dast resi bedii
System.Web.Security.FormsAuthentication.RedirectFr omLoginPage("Username", false);

//ba in dastoor mitooni tashkhis bedii kodom karbarat alan Login shode...
//Yani kodom username alan login karde va dare safaht ro baz mikone va estefade mibare
string UserLgd = User.Identity.Name;


ممنون. همون طور كه گفتم توانايي كاربران توانايي لاگين كردن رو دارن. فقط بيشتر مشكلم دادن اجازه دسترسي هست

alonemm
چهارشنبه 20 اردیبهشت 1391, 12:50 عصر
باسلام:

باید بگم اینکه 2 جدول داشته باشید برای کاربران و مدیران افزونگی داده داره و از ایده های OOP دور میشید.
همونطور که گفتم بهتره یک جدول نقش داشته باشید و نقش ها رو از داخل این جدول بخوندی و جدول کاربران رو به این جدول با یک شناسه ارتباط بدید.


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


موفق باشید.

p.parsaee
چهارشنبه 20 اردیبهشت 1391, 17:46 عصر
عليكم السلام
از راهنمايي هاي خوبتون ممنونم و چون دارم اين پروژه رو به صورت شي گرا پياده سازي مي كنم به نكته خوبي اشاره كرديد كه استفاده از دو جدول افزونگي داده داره.