2
我可以通過編程配置角色和成員身份嗎?沒有app.config(或web.config)?如何在沒有app.config的情況下配置角色?
我可以通過編程配置角色和成員身份嗎?沒有app.config(或web.config)?如何在沒有app.config的情況下配置角色?
這是怎樣的一個黑客攻擊,但在這裏我設置角色的客戶端應用程序服務:
ClientRoleProvider crp = new ClientRoleProvider();
// Initialize
NameValueCollection crp_config = new NameValueCollection();
crp_config.Add("serviceUri", "www.mydomain.com/Role_JSON_AppService.axd");
crp_config.Add("cacheTimeout", 5);
crp_config.Add("honorCookieExpiry", 300);
crp.Initialize("ClientRoleProvider", crp_config);
//RoleProviderCollection
RoleProviderCollection rpc = new RoleProviderCollection();
rpc.Add(crp);
rpc.SetReadOnly();
//Roles
BindingFlags enuBindingFlags = BindingFlags.NonPublic | BindingFlags.Static;
Type objRoleType = typeof(Roles);
objRoleType.GetField("s_Initialized", enuBindingFlags).SetValue(null, true);
objRoleType.GetField("s_InitializeException", enuBindingFlags).SetValue(null, null);
objRoleType.GetField("s_Enabled", enuBindingFlags).SetValue(null, true);
objRoleType.GetField("s_CookieName", enuBindingFlags).SetValue(null, ".ASPXROLES");
objRoleType.GetField("s_CacheRolesInCookie", enuBindingFlags).SetValue(null, false);
objRoleType.GetField("s_CookieTimeout", enuBindingFlags).SetValue(null, (int)30);
objRoleType.GetField("s_CookiePath", enuBindingFlags).SetValue(null, "/");
objRoleType.GetField("s_CookieRequireSSL", enuBindingFlags).SetValue(null, false);
objRoleType.GetField("s_CookieSlidingExpiration", enuBindingFlags).SetValue(null, true);
objRoleType.GetField("s_CookieProtection", enuBindingFlags).SetValue(null, CookieProtection.All);
objRoleType.GetField("s_Domain", enuBindingFlags).SetValue(null, null);
objRoleType.GetField("s_CreatePersistentCookie", enuBindingFlags).SetValue(null, false);
objRoleType.GetField("s_MaxCachedResults", enuBindingFlags).SetValue(null, (int)25);
objRoleType.GetField("s_Provider", enuBindingFlags).SetValue(null, crp);
objRoleType.GetField("s_Providers", enuBindingFlags).SetValue(null, rpc);
從http://msdn.microsoft.com/en-us/library/5k850zwb.aspx
Roles.CreateRole("members");
Roles.CreateRole("manager");
Roles.AddUserToRole("JoeWorden", "manager");
string[] userGroup = new string[2];
userGroup[0] = "JillShrader";
userGroup[1] = "ShaiBassli";
Roles.AddUsersToRole(userGroup, "members");
棒,在Global.asax中(的Application_Start可能是你最好的選擇)和鮑勃是你的叔叔。
但在你回答我仍然需要一個web.config的東西,如: roleManager> –
Nestor
2009-11-15 08:05:36