PDA

View Full Version : مدیریت سفارشی سطوح دسترسی کاربران



R_Rajaee_Rad
چهارشنبه 03 مهر 1392, 16:55 عصر
طبق این آموزش سایت دات نت تیپس (http://www.dotnettips.info/post/1166/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C-%D8%B3%D8%B7%D9%88%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%AF%D8%B1-mvc)میخوام مدیریت سفارشی سطوح دسترسی کاربران بسازم

مشکلی که هست اینه که موقعی که میخوام اطلاعات کاربر رو توی کلاس IsUserInRole بخونم ...from دوم رو ایراد میگیره...خط 11 این تکه کد زیر


public class CustomRoleProvider:RoleProvider
{
linq_classDataContext bank=new linq_classDataContext();
public override bool IsUserInRole(string username, string roleName)
{
using (linq_classDataContext db = new linq_classDataContext())
{
user _user = db.users.FirstOrDefault(u => u.username.Equals(username, StringComparison.CurrentCultureIgnoreCase));

var roles = from ur in _user.RoleId
from r in db.Roles
where ur.RoleId == r.Id
select r.Name;
if (user != null)
return roles.Any(r => r.Equals(roleName, StringComparison.CurrentCultureIgnoreCase));
else
return false;
}

}


اینم متن خطا

Could not find an implementation of the query pattern for source type 'int?'. 'SelectMany' not found.




اگر راهنمای سر راستی سراغ دارید که ساخت همچین سیستمی رو اموزش داده باشه لطفا بگید

R_Rajaee_Rad
پنج شنبه 04 مهر 1392, 11:00 صبح
امکانش هست از Membership در پروژه های empty app و با استفاده از دیتابیس خودمان استفاده کنیم؟

parvizwpf
پنج شنبه 04 مهر 1392, 11:12 صبح
شما دیگه دو تا سلکت نکنسد مستقیم همون roleID یوزر رو در رلها چک کنید .تموم

R_Rajaee_Rad
پنج شنبه 04 مهر 1392, 12:08 عصر
شما دیگه دو تا سلکت نکنسد مستقیم همون roleID یوزر رو در رلها چک کنید .تموم


ببخشید ..متوجه نشدم

sanay_esh
دوشنبه 08 مهر 1392, 09:24 صبح
دوست عزیز راهنمایی که در سایت dotnettips ارائه شده بسیار کامل است .

لطفا موارد را دوباره از ابتدا و با دقت پیاده سازی نمائید تا به نتیجه برسید. در صورت بروز هر گونه خطا در خدمت شما هستیم.

البته در کدی که نوشتید کمی دقت نمائید راههای ساده تری برای دریافت user و role است و نیاز به StringComparison.CurrentCultureIgnoreCase نمیباشد.