PDA

View Full Version : سوال: نمایش قسمت هایی از سایت فقط برای اعضا !!



MOHAMAD-A
جمعه 25 آذر 1390, 14:11 عصر
سلام دوستان
من دارم یه سایت طراحی میکنم
یه مشکلی دارم واونم اینه که
چجوری میشه یه قسمت هایی از سایت رو فقط واسه کسایی که در سایت عضو
هستند نمایش داد
چون موضوع سایتم هم فروشگاه اینترنتییه . .

adineh67
جمعه 25 آذر 1390, 14:38 عصر
سلام دوست عزیز واسه این کار راههای زیادی داری یکیش استفاده از کوکی هاست
یه کوکی تعریف می کنی و در بخش لاگین اگه کاربر لاگین کرد یوزرشو میدی به کوکی حالا تو قسمتایی که می خوای فقط اعضا بتونن ببینن مقدار کوکی رو چک می کنی اگه نال بود یه پیغام بش نشون میدی و در غیر اینصورت بخش مورد نظر رو
موفق باشین

mohsen.nsb44
جمعه 25 آذر 1390, 15:50 عصر
یک راه اینه که یک پوشه درست کنی و صفحاتی که نمیخوای بجز کاربران به اون دسترسی داشته باشن رو در داخل پوشه بسازی
حال باید واسه کاربرات رول(role) تعریف بکنی مثلا user بعد به یکی از روش ها میتونی دسترسی رو به صفحه ها مشخص کنی کثلا تو پیج لود صفحایی که مد نظرته بنویسی

if (User.Identity.IsAuthenticated == false)
{
Response.Redirect("~/default.aspx");
}
else if (Roles.IsUserInRole("user") == false)
{
Response.Redirect("~/default.aspx");
}

MOHAMAD-A
جمعه 25 آذر 1390, 16:03 عصر
یک راه اینه که یک پوشه درست کنی و صفحاتی که نمیخوای بجز کاربران به اون دسترسی داشته باشن رو در داخل پوشه بسازی
حال باید واسه کاربرات رول(role) تعریف بکنی مثلا user بعد به یکی از روش ها میتونی دسترسی رو به صفحه ها مشخص کنی کثلا تو پیج لود صفحایی که مد نظرته بنویسی

if (User.Identity.IsAuthenticated == false)
{
Response.Redirect("~/default.aspx");
}
else if (Roles.IsUserInRole("user") == false)
{
Response.Redirect("~/default.aspx");
}

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

fakhravari
جمعه 25 آذر 1390, 16:21 عصر
برای مثال یک پنل.
<asp:Panel ID="Panel1" runat="server" visible='<%# HttpContext.Current.User.Identity.IsAuthenticated %>'>

<a dir="rtl" target="_self" href='Show/Dawnload.aspx?Atach=<%#Eval("Atach")%>'>
<img src="AfDanload_files/1157.png" title="دانلود فایل : <%#Eval("Subject")%>" />
</a>
</asp:Panel>

MOHAMAD-A
جمعه 25 آذر 1390, 17:08 عصر
مثلا اگه بخوام فقط لینک برای خرید کردن در صفحه برای اعضا نمایش داده بشه چیکار باید بکنم . . . .
در ضمن اگه امکان داره درباره ی صفحه ی ثبت نام هم برام بگین .

fakhravari
جمعه 25 آذر 1390, 19:25 عصر
مثلا اگه بخوام فقط لینک برای خرید کردن در صفحه برای اعضا نمایش داده بشه چیکار باید بکنم . . . .
در ضمن اگه امکان داره درباره ی صفحه ی ثبت نام هم برام بگین .
با سلام
تاپیک قبلی رو یه نگاه بکردی .
از ممبرشیپ استفاده میکنید یه جدا مدیریت میکنید.

meisam3322
جمعه 25 آذر 1390, 20:53 عصر
سلام دوست عزیز واسه این کار راههای زیادی داری یکیش استفاده از کوکی هاست
یه کوکی تعریف می کنی و در بخش لاگین اگه کاربر لاگین کرد یوزرشو میدی به کوکی حالا تو قسمتایی که می خوای فقط اعضا بتونن ببینن مقدار کوکی رو چک می کنی اگه نال بود یه پیغام بش نشون میدی و در غیر اینصورت بخش مورد نظر رو

با سلام،

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

از Membership خود ASP.NET یا اگر خودتون میخواین لوگین بسازین ، از Session استفاده کنید

موفق باشین

یه فایل Global به پروژت اضافه کن. داخل رویداد Session_Start یه Session تعیرف کن :



Session.Add("uservalid",false)


یه سشن تعریف کردید با نام uservalid و مقدار پیش فرض اونو false گذاشتین. حالا در صفحه لوگین یا رویداد کلیک لوگین اگر لوگین کاربر یعنی نام کاربری و کلمه عبور صحیح بود :



Session.Item("uservalid")=True


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



If Session.Item("uservalid")=False then
Response.Redirect("Default.aspx")
.
.
.
end if


وقتی کاربر مهمان باشه به صفحه Default.aspx منتقل میشه . اون نقطه ها هم برای اینه که شما میتونین دستورات دیگه ای با توجه به برنامتون بنویسین ....

یه نکته دیگه که داشت یادم میرفت . برای اعضا یه لینک Logout یا خروج بگذارید که کاربر عضو سشن خودش رو پاک کنه یا به حالت اول بازگردونه: با این کد ها میشه سشن اعضا رو از بین برد :



Session.Item("uservalid")=false
یا
Session.Remove("uservalid")


یه قضیه دیگه هم میمونه که عمر سشن ها بسته به سروری که دارین سایت رو اونجا آپلود میکنین بستگی داره، مثلا 10 دقیقه یا بیشتر و کمتر، خودتون هم میتونین عمر سشنها رو تنظیم نمایید.

موفق باشین

fakhravari
جمعه 25 آذر 1390, 21:22 عصر
با سلام
اول پست دوستان بگید که از چه امکاناتی استفاده میکنید چون 2 روش مختلف است

reyhane1389
جمعه 25 آذر 1390, 22:16 عصر
سلام دوستان
من دارم یه سایت طراحی میکنم
یه مشکلی دارم واونم اینه که
چجوری میشه یه قسمت هایی از سایت رو فقط واسه کسایی که در سایت عضو
هستند نمایش داد
چون موضوع سایتم هم فروشگاه اینترنتییه . .

گلم منو هاتو visible شون رو false کن تا دیگه نمایش داده نشن وبرای مدیر سایت بایک دستور if چک کن طرف مقابل مدیر سایت هست یانه بعد برای اون visible منو هارا true کن
meno.visible=true

MOHAMAD-A
شنبه 26 آذر 1390, 19:51 عصر
اگه امکان داره طریقه ساختن یه صفحه ی ثبت ام رو هم با استفاده از چند تکست باکس توضیح بدین بصورتی که اطلاات وارد جدول بشه با کد نویسیvb

dontspeak
شنبه 26 آذر 1390, 22:45 عصر
این آدرسو سه بار امشب شیر کردم. انگار مشکل ممبرشیپ زیاده :)
http://www.learningweb.ir/showthread.php?91-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-membership
این آموزشو خودم درست کردم و کامله
شاد و موفق و پیروز باشید