PDA

View Full Version : سوال: کنترل login موجود در asp.net



مرضيه ميرزايي
دوشنبه 05 اسفند 1387, 10:00 صبح
سلام
من میخواستم مزایا ومعایب کنترل login که داخل asp.net موجود آشنا شوم
اگر دوستان لطف کننده من راهنمایی کنندیا لینک برای راهنمایی بدن ممنون می شوم(برای چه پروژه های بهتر از آن استفاده شود)
با تشکر

milade
دوشنبه 05 اسفند 1387, 14:54 عصر
سلام دوست عزیز
کنترلهای لاگین موجود ایم ویژگی ها رو دارند :
مزایا :
امنیت کافی
رفع نیازها تا حد 60%
ایجاد شدن با چند کلیک
مدیریت بدون برنامه نویسی ( تا مواقعی ! )
و ... ( یادم نیست !! )

معایب :
تن پرور شدن D:
عدم رفع برخی نازها که در این کنترلها نیست !
مشکل ( سخت بودن ) تغییر برخی ویژگی ها ( هر چند MSDN هست غمی نیست ! )

اما کی استفاده بشه ؟!!!
وقتی دیدید میتونه نیازتون رو برطرف کنه .
مثلا میخواید یه نفر لاگین کنه تا بتونه برخی کارا رو بکنه و فقط لاگین میخواید ، این موقع به جای نوشتن 2000 خط کد ، ظرف سه سوت D: موتونید 2000 تا کد رو بنویسید !!!!!!!
اما برا یه سایت مثل فروم یا یه کار خاص ، باید بنا بر نیازتون کد بنویسید
پروز باشید و پایدار

pcseven
چهارشنبه 07 اسفند 1387, 16:52 عصر
همین MSDN میگه شما برای حالت های خاص مثل فروم یا فروشگاه اینترنتی یا ... میتونید از Membership Profile برای User ها استفاده کنید و هر کاری رو که لازم دارید انجام بدید، البته برای هر کار باید مقدماتی را یاد گرفت، فرقی نمی کنه که این مقدمات نحوه کار با Membership Provider باشه یا برنامه نویسی کار با Session و ... برای مدیریت کاربران.
البته این نکته رو نباید فراموش کرد که انتخاب ASP.NET Membership Provider یا پیاده سازی مدیریت کاربران بصورت دستی، بستگی به سیاست سایت شما و مسائل مختلف دیگه داره.
برای اطلاعات بیشتر این دو لینک را مطالعه فرمایید :

http://msdn.microsoft.com/en-us/magazine/cc163457.aspx

http://msdn.microsoft.com/en-us/magazine/cc163724.aspx


سلام دوست عزیز
کنترلهای لاگین موجود ایم ویژگی ها رو دارند :
مزایا :
امنیت کافی
رفع نیازها تا حد 60%
ایجاد شدن با چند کلیک
مدیریت بدون برنامه نویسی ( تا مواقعی ! )
و ... ( یادم نیست !! )

معایب :
تن پرور شدن D:
عدم رفع برخی نازها که در این کنترلها نیست !
مشکل ( سخت بودن ) تغییر برخی ویژگی ها ( هر چند MSDN هست غمی نیست ! )

اما کی استفاده بشه ؟!!!
وقتی دیدید میتونه نیازتون رو برطرف کنه .
مثلا میخواید یه نفر لاگین کنه تا بتونه برخی کارا رو بکنه و فقط لاگین میخواید ، این موقع به جای نوشتن 2000 خط کد ، ظرف سه سوت D: موتونید 2000 تا کد رو بنویسید !!!!!!!
اما برا یه سایت مثل فروم یا یه کار خاص ، باید بنا بر نیازتون کد بنویسید
پروز باشید و پایدار

milade
چهارشنبه 07 اسفند 1387, 18:29 عصر
درسته
من برا فورشگاه رو نگفتم
اما شما یه لطف کن یه صفحه بساز که صرفا" با کنترلها و بانک Asp.net بتونی یه فروم ساخته و تعداد تشکر رو بشماری !
کارای خاص یعنی چیزای اضافی که این بانک نداره وگرنه اونایی که داره که هیچ !
موفق باشید

golab2576
سه شنبه 13 اسفند 1387, 09:41 صبح
سلام
مي خواستم ببينم چطور مي شه کنترل login را به بانک اطلاعاتي که خودمون درست کرديم مرتبط کنيم
منظورم اينه که از ابزار ASP.NET CNFIGURATION استفاده نکنيم و از اين طريق creat user نکنيم

golab2576
سه شنبه 13 اسفند 1387, 13:51 عصر
يه استاد معظم له به سوال ما جواب بده
ممنون ميشم

kiosksoft
سه شنبه 13 اسفند 1387, 16:37 عصر
سلام
مي خواستم ببينم چطور مي شه کنترل login را به بانک اطلاعاتي که خودمون درست کرديم مرتبط کنيم
منظورم اينه که از ابزار ASP.NET CNFIGURATION استفاده نکنيم و از اين طريق creat user نکنيم

دوست عزیز

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

در مورد کنترل ورود و خروج کابران , شما میتوانید یک جدول ایجاد کنید که شامل نام کاربری و رول و سطح دسترسی کاربر باشد. اگه کلاس آماده برای این کار میخواید , من برای خودم نوشتم , نیاز بود بگید بزارم همین جا.

فقط کافیه از توابعش استفاده کنید : کاربر فعال است یا خیر , مجاز است یا خیر و اینکه رول و دسترسی اون چیست.

مرضيه ميرزايي
سه شنبه 13 اسفند 1387, 19:33 عصر
ممنون مي شوم اگر لطف كنيد اين توابع را بزاريد

golab2576
چهارشنبه 14 اسفند 1387, 10:36 صبح
زحمت يه سوال ديگه را براتون دارم
چطوري مي تونم اجبار در استفاده از کاراکتر خاص را در پسورد کنترل login بردارم يعني اين که هر پسوردي خواستيم بديم

kiosksoft
چهارشنبه 14 اسفند 1387, 18:39 عصر
خوب , قرار شد از اون کنترل دیگه استفاده نکنید , خودتون کنترل رو ایجاد و اجرا کنید, در این حالت خودتون هستید که کاراکتر رو تعیین میکنید.

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



public class Authentication
{
#region Field
private int _User_ID;
private string _User_Name;
private string _Password;
#endregion
#region Property
public int User_ID
{
get
{
return _User_ID;
}
set
{
_User_ID = value;
}
}
public string User_Name
{
get
{
return _User_Name;
}
set
{
_User_Name = value;
}
}
public string Password
{
get
{
return _Password;
}
set
{
_Password = value;
}
}
#endregion
DatabaseClasses dbClass = new DatabaseClasses();
public bool AuthenticatUser()
{
bool Result=false;
string UserIDFromDB = dbClass.GetValueField("select UserID as us from UserTbl where(UserName='" + User_Name + "' and Password='" + Password + "')", "us");
if (UserIDFromDB.Trim().Length == 0) Result = false;
else
{
Result = true;
User_ID =int.Parse(UserIDFromDB);
}
return Result;
}
public bool AuthenticatUserByUserID()
{
bool Result = false;
string UserIDFromDB = dbClass.GetValueField("select User_ID as us from User_Tbl where(User_ID=" + User_ID + ")", "us");
if (UserIDFromDB.Trim().Length == 0) Result = false;
else
{
Result = true;
User_ID = int.Parse(UserIDFromDB);
}
return Result;
}
//public string AuthenticatGetUser()
//{
// string UserID=HttpContext.Current.Session["User_ID"].ToString();
// return dbClass.GetValueField("select User_name as us from User_Tbl where(User_ID='" + User_ID + "')", "us");
//}
public string AuthenticatGetPass()
{
string UserID = HttpContext.Current.Session["UserID"].ToString();
return dbClass.GetValueField("select Password as us from User_Tbl where(User_ID='" + User_ID + "')", "us");
}
public string AuthenticatGetRole()
{
return dbClass.GetValueField("select RoleID as us from UserTbl where(UserID='" + User_ID + "')", "us");
}
public string AuthenticatGetPermission()
{
return dbClass.GetValueField("select Permission as us from User_Tbl where(User_ID='" + User_ID + "')", "us");
}
//public bool AuthenticatUser()
//{
// bool Result = false;
// string UserID = HttpContext.Current.Session["UserID"].ToString();
// if (UserID.Trim().Length == 0) Result = false;
// else Result = true;
// return Result;
//}
/*public bool UserIsActive()
{
return bool.Parse(dbClass.GetValueField("SELECT Activation as col1 FROM UserTbl WHERE (UserID =" + UserID + ")", "col1"));
}*/
public int UserIsActive()
{
return int.Parse(dbClass.GetValueField("SELECT Active as col1 FROM UserTbl WHERE (UserID =" + User_ID + ")", "col1"));
}
public string GetNameLastName()
{
return dbClass.GetValueField("SELECT Name + ' ' + User_Name as col1 FROM User_Tbl WHERE (User_ID =" + User_ID + ")", "col1");
}
public string GetUserRole()
{
string roleID = dbClass.GetValueField("SELECT RoleID as col1 FROM userTbl WHERE (userid ='" + User_ID + "')", "col1");

return roleID;
}
}

golab2576
پنج شنبه 15 اسفند 1387, 08:45 صبح
خوب , قرار شد از اون کنترل دیگه استفاده نکنید , خودتون کنترل رو ایجاد و اجرا کنید, در این حالت خودتون هستید که کاراکتر رو تعیین میکنید.

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


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

mobin-co
چهارشنبه 15 مهر 1388, 17:12 عصر
سلام
من این سوالی رو که میخوام بگم یه جای دیگه هم مطرح کردم
من بعد ار آپلود لاگین پیج و صفحه مقصد وقتی می خوام لاگین کنم یا به عنوان کاربر رجیستر کنم با runtime rror مواجه میشم در ضمن من دیتا بیس رو همه جوره دو هاست کپی کردم نباید با مسیر دهی مشکلی داشته باشه
میتونم خواهش کنم کمکم کنین؟ چون واقعا گیج شدم