PDA

View Full Version : مشکل با membership وقتی که دیتابیس رو به یه سیستم دیگه می برم



mf_007
جمعه 24 تیر 1390, 00:46 صبح
سلام
من تو سیستم خودم یه سایت درست کردم که از membership خود دات نت استفاده کردم یه یوزر با نقش ادمین هم ساختم و سطح دسترسی ها رو مشخص کردم همه چیز خوب کار می کنه اما وقتی دیتابیس رو جای دیگه می برم اون یوزر رو نمی شناسه و دوباره باید تو اون سیستم جدید از طریق Web Site Administration Toolیه یوزر بسازم تا بتونم login کنم به قسمت مدیریت
انگار که اصلا اون یوزری که ساختم وجود نداره در صورتی که وقتی بانک رو باز میکنم اون یوزر تو جدول مربوطه هست. یه بار وقتی برنامه رو بردم تو لپتاپ تست کنم این مشکل به وجود اومد و با ساخت یوزر جدید مشکل حل شد
الان تو یه هاست مجانی سایت رو تست کردم دیتابیس رو هم اتچ کردم ولی بازم login نمی شه و می گه همچین یوزری وجود نداره ؟ Web Site Administration Tool هم که نیست یوزر جدید بسازم. بقیه قسمت های سایت کار می کنه و از دیتابیس اطلاعات رو می خونه.
من تازه شروع کردم یادگیری asp.net رو لطفا راهنمایی کنید.
مشکل از کجاست؟

mo.esmp
جمعه 24 تیر 1390, 01:03 صبح
یوزرها رو تو چه دیتابیسی ذخیره مکیند ؟ تویه همون دیتابیسی که خودتون ساختن یا دیتابیسی که خود ویژوال استودیو با نام ASPNETDB.MDF میسازه ذخیره میکنید ؟

mf_007
جمعه 24 تیر 1390, 01:10 صبح
تنظیمات رو طوری انجام دادم که تیبل های membership تو دیتابیس خودم ساخته بشه و دیگه ASPNETDB.MDF ساخته نمی شه هیچ مشکلی هم نداره فقط زمانی که دیتابیس انتقال پیدا می کنه مشکلی که گفتم پیش میاد.

mo.esmp
جمعه 24 تیر 1390, 01:39 صبح
یوزرها رو با برنامه نویسی ایجاد کنید ببینید چطور میشه.

raziee
جمعه 24 تیر 1390, 10:09 صبح
سلام
من تو سیستم خودم یه سایت درست کردم که از membership خود دات نت استفاده کردم یه یوزر با نقش ادمین هم ساختم و سطح دسترسی ها رو مشخص کردم همه چیز خوب کار می کنه اما وقتی دیتابیس رو جای دیگه می برم اون یوزر رو نمی شناسه و دوباره باید تو اون سیستم جدید از طریق Web Site Administration Toolیه یوزر بسازم تا بتونم login کنم به قسمت مدیریت
انگار که اصلا اون یوزری که ساختم وجود نداره در صورتی که وقتی بانک رو باز میکنم اون یوزر تو جدول مربوطه هست. یه بار وقتی برنامه رو بردم تو لپتاپ تست کنم این مشکل به وجود اومد و با ساخت یوزر جدید مشکل حل شد
الان تو یه هاست مجانی سایت رو تست کردم دیتابیس رو هم اتچ کردم ولی بازم login نمی شه و می گه همچین یوزری وجود نداره ؟ Web Site Administration Tool هم که نیست یوزر جدید بسازم. بقیه قسمت های سایت کار می کنه و از دیتابیس اطلاعات رو می خونه.
من تازه شروع کردم یادگیری asp.net رو لطفا راهنمایی کنید.
مشکل از کجاست؟

تنظیمات مربوط به roleManager و membership رو که در وب کانفیگ نوشتید اینجا بنویسید.
مطمئن بشید که بعد از ایجاد یک کاربر جدید ، اطلاعات مربوطه در جدول شما ذخیره میشه.

این لینک (http://barnamenevis.org/showthread.php?294901-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-ASPNETDB.MDF-%D8%A8%D9%87-%DB%8C%DA%A9-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%DB%8C%DA%AF%D8%B1-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%A2%D9%86%D9%87%D8%A7-%D8%A8%D9%87-%D9%88%D8%B3%DB%8C%D9%84%D9%87-API-Membership-...) رو مطالعه کنید.

mf_007
جمعه 24 تیر 1390, 11:49 صبح
چک کردم تو تیبل یوزر ذخیره شده یکی که تو کامپیوترم ساخته شده و بعد از انتقال به لپتاپ دیگه نشناخته و یکی که تو لپتاپ ساختم و اونو تو لپتاپ می شناسه الان 2تا یوزر تو تیبل ذخیره شده و دیتابیس رو که به هاست انتقال دادم هیچکدوم رو نمی شناسه
این فایل web.config منه

mf_007
شنبه 25 تیر 1390, 11:29 صبح
کسی یه همچین مشکلی نداشته تا حالا؟من تاره کارم لطفا یه نگاه بندازید ببینید قایل web.config مشکلی نداره

hiran
دوشنبه 27 تیر 1390, 03:15 صبح
کسی یه همچین مشکلی نداشته تا حالا؟من تاره کارم لطفا یه نگاه بندازید ببینید قایل web.config مشکلی نداره

دوست من پاسخ شما در لینکی (http://barnamenevis.org/showthread.php?294901-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-ASPNETDB.MDF-%D8%A8%D9%87-%DB%8C%DA%A9-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%DB%8C%DA%AF%D8%B1-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%A2%D9%86%D9%87%D8%A7-%D8%A8%D9%87-%D9%88%D8%B3%DB%8C%D9%84%D9%87-API-Membership-...) که آقای حسین رضیئی گذاشته به صورت کامل وجود داره. با حوصله اون لینک را مطالعه کن.

کد زیر یک نمونه از تنظیمات وب کانفیگ است. به جای myConnectionString اسم کانکشن استرینگ خودت را بنویس.




<system.web>
<membership defaultProvider=" AspNetSqlMembershipProvider">
<providers>
<clear/>
<add connectionStringName="myConnectionString" passwordAttemptWindow="10"
enablePasswordRetrieval="false" enablePasswordReset="true"
requiresQuestionAndAnswer="true" requiresUniqueEmail="false"
passwordFormat="Hashed"
description="Stores and retrieves membership data from &#xA;the local Microsoft SQL Server database."
name=" AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"/>
</providers>
</membership>

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<clear/>
<add connectionStringName="myConnectionString" name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"/>
</providers>
</roleManager>
</system.web>

mf_007
دوشنبه 27 تیر 1390, 13:47 عصر
اون لینک رو خوندم تنظیمات رو هم به همون صورت انجام دادم رو سیستم خودم وقتی یه یوزر جدید می سازم می شناسه و login می شه ولی وقتی دیتابیس رو انتقال می دم انگار که همچین یوزری وجود نداره و login نمی شه در صورتی که تو دیتابیس ثبت شده

raziee
دوشنبه 27 تیر 1390, 14:07 عصر
با سلام.
با توجه به اینکه گفتید:

چک کردم تو تیبل یوزر ذخیره شده یکی که تو کامپیوترم ساخته شده و بعد از انتقال به لپتاپ دیگه نشناخته و یکی که تو لپتاپ ساختم و اونو تو لپتاپ می شناسه الان 2تا یوزر تو تیبل ذخیره شده و دیتابیس رو که به هاست انتقال دادم هیچکدوم رو نمی شناسه
ارتباط با دیتابیس هیچ مشکلی نداره.
توی وب کانفیگتون applicationName رو مشخص نکردید. البته اگر این مقدار رو تنظیم نکنید مقدار پیشفرض خودش رو میگیره.
اما الان تنها چیزی که ممکن هست اینه که applicationName های مختلفی در دیتابیستون ذخیره شده.
اون دو کاربر رو بررسی کنید ببینید آیا دوتا applicationName متفاوت دارند یا هر دو یکی هستند(به احتمال زیاد باید متفاوت باشن)

mf_007
دوشنبه 27 تیر 1390, 14:19 عصر
سلام
تو جدول یوزر که 2 تا یورز ساختم تو فیلد application id
2تا application id مختلف هست یعنی برای هر یوزر یه application
حالا این application چیه چه طوری باید تنظیم شه

mf_007
دوشنبه 27 تیر 1390, 14:27 عصر
ممنون دوست عزیز مشکل حل شد 2 تا application بود که تو web.config اسم یکیش رو گذاشتم و login شد.