Mohammad_dn
شنبه 01 آذر 1393, 00:34 صبح
با سلام
به درخواست یکی از دوستان میخوام آموزش مختصری در رابطه با رول بندی براتون بزارم...
ابتدا شما باید بانک اطلاعاتیتونو تنظیم کنید..در واقع باید تیبل های مورد نیاز (پروفایل ..رول ها و... و در کل ممبرشیپ ) رو توی دیتابیستون ایجاد کنید ..برای اینکار بعد از ایجاد بانک به درایو C برید و عبارت aspnet_regsql.exe رو جستجو و اجرا کنید..
بر روی Next کلیک کنید
گذینه ی Configure SQL Server For Application services رو انتخاب و Next رو بزنید
در پنجره ی باز شده آدرس سرور رو وارد کرده و دیتابیس مورد نظر رو انتخاب کنید..(در صورت داشتن رمز گذینه ی SQL Server authentication رو انتخاب کنید و بعد یوزر و پس رو وارد کنید) و Next رو بزنید
دوباره بر روی Next کلیک کنید و منتظر بمانید تا تنظیمات بر روی دیتابیس شما اعمال شود
بر روی Finish کلیک کنید
حالا اگه نگاه کنید توی دیتابیس شما 11 تیبل جدید اضافه شده..
کد زیر رو در فایل Web.config سایتتون قبل از <system.web> قرار بدید:
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="YourConnectionString" providerName="System.Data.SqlClient"/>
</connectionStrings>
همچنین کد زیر رو داخل <system.web> بزارید
<roleManager enabled="true" />
کانکشن استرینگ بانک خودتونم وارد کنید...خوب تا اینجا تنظیمات دیتابیس کاملا انجام شده..اما یه سری دستورات برای مدیریت رول ها
ابتدا فضای نام زیر رو به صفحتون اضافه کنید:
using System.Web.Security;
ایجاد یک رول
Roles.CreateRole("Admin");
حذف یک رول
Roles.DeleteRole("Admin");
برسی موجودیت یک رول
Roles.RoleExists("Admin");
نسبت دادن یک رول به یک کاربر:
Roles.AddUserToRole("Mohammad", "Admin");
نسبت دادن یک رول به چند کاربر:
string[] strb = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.AddUsersToRole(strb, "Admin");
نسبت دادن چند رول به یک کاربر:
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "Deny";
Roles.AddUserToRoles("Mohammad_dn", strb);
نسبت دادن چند رول به چند کاربر:
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.AddUsersToRoles(strb2, strb);
برای حذف رول کاربرا هم به همین شکل
حذف یک رول از یک کاربر
Roles.RemoveUserFromRole("Mohammad_dn", "Admin");
حذف یک رول از چند کاربر
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.RemoveUsersFromRole(strb2, "Admin");
حذف چند رول از یک کاربر
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
Roles.RemoveUserFromRoles("Mohammad_dn", strb);
حذف چند رول از چند کاربر
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.RemoveUsersFromRoles(strb2, strb);
اما گاهی شما میخواید مثلا به صفحات یه پوشه ی خاص سطح دسترسی بدید..مثلا میخواید برای صفحاتی که داخل پوشه ی Admin هستن اینکارو انجام بدید
ابتدا یک فایل web.config داخل پوشه اضافه کنید...بعد کد زیرو داخلش قرار بدید
<authorization>
<deny users="?"/>
<allow roles="Admin,FullAdmin"/>
<deny users="*"/>
</authorization>
با اینکار فقط کاربرانی که دسترسی Admin و FullAdmin دارن میتونن وارد صفحات این پوشه بشن
موفق ، پیروز و سربلند باشید
به درخواست یکی از دوستان میخوام آموزش مختصری در رابطه با رول بندی براتون بزارم...
ابتدا شما باید بانک اطلاعاتیتونو تنظیم کنید..در واقع باید تیبل های مورد نیاز (پروفایل ..رول ها و... و در کل ممبرشیپ ) رو توی دیتابیستون ایجاد کنید ..برای اینکار بعد از ایجاد بانک به درایو C برید و عبارت aspnet_regsql.exe رو جستجو و اجرا کنید..
بر روی Next کلیک کنید
گذینه ی Configure SQL Server For Application services رو انتخاب و Next رو بزنید
در پنجره ی باز شده آدرس سرور رو وارد کرده و دیتابیس مورد نظر رو انتخاب کنید..(در صورت داشتن رمز گذینه ی SQL Server authentication رو انتخاب کنید و بعد یوزر و پس رو وارد کنید) و Next رو بزنید
دوباره بر روی Next کلیک کنید و منتظر بمانید تا تنظیمات بر روی دیتابیس شما اعمال شود
بر روی Finish کلیک کنید
حالا اگه نگاه کنید توی دیتابیس شما 11 تیبل جدید اضافه شده..
کد زیر رو در فایل Web.config سایتتون قبل از <system.web> قرار بدید:
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="YourConnectionString" providerName="System.Data.SqlClient"/>
</connectionStrings>
همچنین کد زیر رو داخل <system.web> بزارید
<roleManager enabled="true" />
کانکشن استرینگ بانک خودتونم وارد کنید...خوب تا اینجا تنظیمات دیتابیس کاملا انجام شده..اما یه سری دستورات برای مدیریت رول ها
ابتدا فضای نام زیر رو به صفحتون اضافه کنید:
using System.Web.Security;
ایجاد یک رول
Roles.CreateRole("Admin");
حذف یک رول
Roles.DeleteRole("Admin");
برسی موجودیت یک رول
Roles.RoleExists("Admin");
نسبت دادن یک رول به یک کاربر:
Roles.AddUserToRole("Mohammad", "Admin");
نسبت دادن یک رول به چند کاربر:
string[] strb = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.AddUsersToRole(strb, "Admin");
نسبت دادن چند رول به یک کاربر:
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "Deny";
Roles.AddUserToRoles("Mohammad_dn", strb);
نسبت دادن چند رول به چند کاربر:
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.AddUsersToRoles(strb2, strb);
برای حذف رول کاربرا هم به همین شکل
حذف یک رول از یک کاربر
Roles.RemoveUserFromRole("Mohammad_dn", "Admin");
حذف یک رول از چند کاربر
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.RemoveUsersFromRole(strb2, "Admin");
حذف چند رول از یک کاربر
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
Roles.RemoveUserFromRoles("Mohammad_dn", strb);
حذف چند رول از چند کاربر
string[] strb = new string[2];
strb[0] = "Admin";
strb[1] = "User";
string[] strb2 = new string[2];
strb[0] = "Mohammad";
strb[1] = "Mohammad_dn";
Roles.RemoveUsersFromRoles(strb2, strb);
اما گاهی شما میخواید مثلا به صفحات یه پوشه ی خاص سطح دسترسی بدید..مثلا میخواید برای صفحاتی که داخل پوشه ی Admin هستن اینکارو انجام بدید
ابتدا یک فایل web.config داخل پوشه اضافه کنید...بعد کد زیرو داخلش قرار بدید
<authorization>
<deny users="?"/>
<allow roles="Admin,FullAdmin"/>
<deny users="*"/>
</authorization>
با اینکار فقط کاربرانی که دسترسی Admin و FullAdmin دارن میتونن وارد صفحات این پوشه بشن
موفق ، پیروز و سربلند باشید