براي امنت تر بودن اتصال شما هر بار پس از گرفتن اطلاعات يا اجراي رشته تقاضا تون حتما اتصال رو ببنديد مثل استفاده از كد بلاك
finaly()
در پاين كد هاتون و بستن اتصال.
براي امنت تر بودن اتصال شما هر بار پس از گرفتن اطلاعات يا اجراي رشته تقاضا تون حتما اتصال رو ببنديد مثل استفاده از كد بلاك
finaly()
در پاين كد هاتون و بستن اتصال.
بهتره یه کم دقت داشه باشید به جای این همه عجله
DataLayer.Users.RoleName(username);
این نام یکی از متدهای برنامه من است که وقتی نام کاربر بهش میدیم رول های اون کاربر رو بر می گردونه
که شما باید خودتون اونو تو برنامه تون پیاده سازی کنید
دوست عزیز من یه فروشگاه طراحی کردم و یه سایت خبری . در مورد بحث ثبت نام و لوگین کردن در سایت به نظر من بهترین راه برای لوگین کردن و چک کردن افراد بعد از اینکه نام کاربری و کلمه عبور خودشون رو وارد کردن اینه که تعداد رکورد های کاربران ثبت نامی رو بشماری که اگه بزرگتر از یک بود یعنی فرد یک کاربر سایت است و یک سیشن به او می دهید با مقدار نام کاربری خودش که منحصر به فرد می باشد.من راه های زیادی رو سوال کردم و تست کردم دیدم واقعا این راه عملی تر و بهتره ...
بحث ثبت نام هم که خیلی راحته.بازیابی رمز عبور هم که با استفاده از بحث ارسال ایمیله.بحث تغییر رمز هم که در واقع خیلی خیلی راحته.سوالی اگه هست در صورتی که بلد باشم جوابتونو می دم...
سلام به همه دوستان وقت بخیر
من همه این تاپیکارو خوندم یه مشکل دارم می دونم مبتدی اما لطفا کمک کنید..
واسه log out کاربر باس چه کدیو نوشت...مثلا session خاصی باس حذف کرد? مطمینا redirect به تنهایی کافی نیست...
واسه login من از کد زیر استفاده کردم....
FormsAuthentication.RedirectFromLoginPage(tb_usern ame.Text, false);
من روال همین تاپیکو پیش گرفتم یعنی سعی کردم صفحه loginam سفارشی باشه نه فقط rolprovideresho استفاده کردم که اونم سفارشی شده.
<system.web>
<authentication mode="Forms">
<forms name=".Authenticationmysite" loginUrl="~/login.aspx" defaultUrl="~/Default3.aspx" slidingExpiration="true" timeout="43200" path="/" protection="All">
</forms>
</authentication>
<roleManager defaultProvider="SiteRoleProvider" enabled="true">
<providers>
<clear/>
<add name="SiteRoleProvider" type="abcconstruct.Classes.roleprovider"/>
</providers>
</roleManager>
اگر لاگینی مانند همین سایت بخواهیم بسازیم چی کار باید بکنیم
مشکل من اینجاست که در صفحه مسترپیچ نام کاربر چک می شود و ابتدای صفحه نمایش داده می شود یعنی کاربر می تواند از صفحات مختلف لاگین بشود مشکل اینجاست که بعد از لاگین شدن و چک شدن درستی lable مربوطه در مسترپیچ مقدار میگیرد (در هنگام تریس کردن) ولی وقتی که از صفحه ای که کاربر لاگین کرده است وارد می شود مقدار فیلد مذکور خالی نمایش داده میشود
لطفا راهنمائی کنید
با تشکر بسیار زیاد ازدوستان
من چند تا سوال داشتم:
1- آیا میشه این روش را برای حالتی که رولها معلوم نیست استفاده کرد؟ بعنوان مثال در یک نرم افزار که باید رولها برای هر کاربر بطور خاص تعریف شود و یا اینکه بنا به نیاز سطح دسترسی کاربران تغییر نمایید؟
2- جاییکه من متوجه نمی شوم نحوه نگهداری رول و کد کاربر می باشد ، برای اینکه بتوان رول کاربر را در ورود به صفحات چک کرد بهترین راه چی هست ؟ ظاهرا تو این روش صفحات گروه بندی میشن و دسترسی ها به فولدرها داده میشه .
با تشکر
دوست عزیز
از این متد استفاده کن
FormsAuthentication.SignOut();
اگه از SQL Express استفاده میکنی تو یه پایگاه داده به نام
ASPNETDB.MDB
که تو پوشه App_Data نگهداری میشه
البته میشه خودت هم پایگاه داده رو انتخاب کنی
دوستان ببخشید ، من دیر این تاپیک رو دیدم ، شرمنده شاید تا الان جواب سوالهاتون رو گرفته باشید
مشکلی که من دارم اینه که من سه دسته کاربر تو سایتم دارم
و هر کدوم از اینا باید بعد Sign in کردن به صفجه مورد نظر خودشون هدایت بشن
من برای این کار سه دسته صفحه طراحی کردم که هر کدوم تو فولدر مربوطه خودشون قرار دارن
webconfig هر فولدر رو هم تنظیم کردم تا فقط کاربرای همون دسته بهش دسترسی داشته باشن
مشکل اینه که بعد از Sign in کردن چطور کاربر رو به صفحه پیش فرض دسته مربوط به خودش هدایت کنم؟
چون تو webcongif فقط یه Defaultpage با استفاده از کد زیر قابل تعریف هستش
<forms name="AuthenticationManager" loginUrl="~/Management/Default.aspx" defaultUrl="~/Management/Management.aspx" slidingExpiration="true" timeout="43200">
</forms>
البته می تونم مثل همین سایت برنامه نویس عمل کنم یعنی کاربر بعد از زدن دکمه ورود به یه صفحه میانی منتقل بشه ، اونجا نقشش چک بشه و بعد بره به صفحه پیش فرض دسته خودش ، اما میخوام ببینم راهی نیست که این صفحه میانی رو از این وسط بردارم؟
آخرین ویرایش به وسیله raziee : یک شنبه 18 دی 1390 در 01:45 صبح دلیل: ادغام دو پست
سلام می خواستم بدونم در روشی که از جداول ممبر شیپ استفاده می کنیم می تونیم به فیلدهای جداولش اضافه کنیم یا اینکه به جداولش جدولی اضافه کنیم
سوال دوم اینکه دوستان می تونید بگید مزیت روشی که خانم z_BlueStar یاد دادن نسبت به استفاده از جداول ممبرشیپ به صورت سفارشی چی هست؟ آیا در روشی که خانم z_BlueStar گفتن چون توابع رو باز خودمون Overrideمی کنیم امنیت پایین نمی آید؟
باید براساس نقش های کاربرانت این کار را انجام بدید
با سلام. من واسه ثبت نام كاربران توي سايت، از كنترل create user استفاده نكردم چون فيلدهاي اين كنترل كم هست و جوابگوي خواسته ي من نيست. خودم يك فرم با table طراحي كردم كه با زدن دكمه ي ثبت اطلاعات كاربر وارد بانك اطلاعاتي ميشه. اما حالا نميدونم چه طور بايد به كاربرانم نقش بدم و دسترسيشونو به صفحات كنترل كنم. ميدونم اگه از كنترلهاي create user , login استفاده ميكردم كارم راحت بود و در فايل asp.net configuration راحت ميتونستم نقش تعريف كنم اما علت اينكه اين كار رو نكردمو گفتم. كسي ميتونه كمكم كنه؟؟؟؟؟ لطفاااااااااااااااااااااا اااا. از همه متشكرم
سلام دوستان دقت کردید این تاپیک شده فقط سوال های بی جواب(یا بهتر بگم سوال هایی که اگه صفحه های اول رو با دقت بخونید شاید به جوابتون برسید)
جناب ardalanjoon شما هم فکر می کنم می تونید هم از جداول ممبر شیپ استفاده کنید و با تغییر در فیلدهای جدول و به خواستتون برسید هم بتونید از توابع آماده این روش استفاده کنید اگه این آموزش رو کامل بخونید و انجام بدید احتمالا پی می برید که چه جوری نقش تعریف کنید
موفق باشید
مرسي دوست عزيز. اما من 2 ، 3 بار اين تاپيك رو خوندم اما يه جاهايي حرفها بي سرو ته شده. اگرم جايي كد تعريف شده مبهمه و كامل نيست. جداول خود ممبر شيپ كه قابل تغيير نيست. در مورد توابع اماده هم من نميدونم اين توابع رو از كجا پيدا كنم. تو اين تاپيك از roleها واسه تعيين سطح دسترسي استفاده شده و يه جاهايي بحث شده راجع به تعيين سطح دسترسي. اما هيچ كجا نگفتن كه چه طور ميشه databaseاي كه خودمون طراحي كرديم رو به نقشها يا جداولي كه خود .net ميسازه ربط بديم. role provider فقط رو كاربراني كه با كنترل createuser ساخته شدن پياده ميشه...
tkt = New FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now(), _ dateTime.Now.AddMinutes(30), chkPersistCookie.Checked, "your custom data")
سلام دوستان
می خواستم بدونم آیا موقع استفاداز Ticket مانند خط بالا می توان اطلاعات دیگری مانند ID کاربر رو در اون نگه داشت
یا اینکه فقط همین چیزهایی که در این کد گفته قابل ذخیره است؟
سرکار خانم z_bluestar با تشکر از اموزش مفیدتون
من چند تا سوال برام پیش اومده که اگه لطف کنید جواب بدین ممنون میشم
اول اینکه ممکنه چند تا مثال از اینکه در چه مواردی متد ها رو دوباره پیاده سازی میکنیم بزنین چون متوجه نمیشم مثلا در این مورد مثال شما مگه بصورت پیش فرض همه رول های کاربر رو بر نمی گردونه که ما اونو دوباره پیاده سازی میکنیم؟ در ضمن در مورد اینکه چطور از table ای که خودمون ساختیم در roleProvider استفاده کنیم هنوز مطلب برام جا نیوفتاده یعنی میشه رولها رو از هر جدول دیگه یی خوند ؟!! چطور این موضوع رو در web.config در بخش RoleProvider باید اعلام کنیم که جدول مورد نظرمون برای رولها کدومه؟؟!!!....
سوال دوم در مورد استفاده از SiteMap در web.config هست من قبلا از سیستم پیش فرض Membership و RoleProvider استفاده میکردم و با فعال کردن SecurityTrimmingEnable میتونستم از خاصیت دسترسی ها در منوی asp استفاده کنم الان با این شرایط که رولها از جدولی که خودمون ساختیم دریافت میشن وضعیت چطور خواهد بود؟
با سلام
به جواب دوستمون در پست 62
به این لینک سر بزنید و امکاناتی که لازم دارید بکار رفته.
https://barnamenevis.org/showthread.p...86%DB%8C%D8%AF
سلام به دوستان
ممکنه کسی کمک کنه کدpublic override void AddUsersToRoles(string[] usernames, string[] roleNames)رو برای قسمت کلاسی که خودمون تعریف میکنیم مثل مثالی که برای GetRolesForUser نوشته بودیم بزاره ؟!! راستش به نظر چون لیست کاربر یا رول هست یکم سخت به نظر میرسه ضمنا این کد باید برای AddUserToRole ، AddUsersToRole، AddUserToRoles و AddUsersToRoles باشه.
ممنون از لطف همه شما