با سلام
من در سایتم برای مدیریت کاربران از سیاست CustomeRoleProvider استفاده کردم و مشکلی که دارم اینه که کاربر امکان Login داره ولی هنگام اعتبارسنحی نقش کاربر در یک کنترلر دوباره به صفحه Login مجدد منتقل میشه.
و 2 روزی هست که این نکات رو چندین بار چک کردم که املای نقش ها در کنترلر ها درست باشه
1- رابطه بین نقش و کاربر یک رابطه 1 به چند می باشد
2- در Custome Role Provider روال GetRolesForUser توسط کد زیر پیاده سازی شده
return db.Users.Where(u => u.UserName == username).Select(s => s.Role.RoleName).ToArray();
ممنون میشم در جهت رفع این مشکل راهنماییم کنید.
آیا RoleManager در وب کانفیگ فعال است ؟
آیا اصلا متد GetRoles فراخوانی میشه ؟
آیا نام Role دقیق است یعنی حروف کوچک و بزرگ رعایت شده ؟
1) رابطه بین Role و User ، چند به چند می باشد.
2)منظور از CustomRoleProvider چیست ؟
3)در کدی که قرار داده اید آیا Role بازگردانده می شود ؟
بله Role Manager در وب کانفیگ فعاله
الان که چک می کنم می بینم که متد GetRole بعد از لاگین کردن صدا نمیشه !!!
یک توضیح بدم شاید بتونه کمک تون ، این پروژه ای که الان من در موردش دارم کار می کنم کپی شده یک پروژه ی دیگه ست که در اون داره GetRole صدا میشه و عملیات به درستی انجام میشه ولی تو این نه صدا نمیشه،
خب مشکل مشخص شد
کلاس شما توسط پروژه شناسایی نمیشه
در وب کانفیگ فضای نام RoleProvider را بررسی کنید ببینید درست است
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)