API Questions on Kentico API.
Version 6.x > API > Error message while assigning user to a role View modes: 
User avatar
Member
Member
dotun.gbile-Ameripride - 7/18/2013 4:13:08 PM
   
Error message while assigning user to a role
Hello,
I am assigning a user to a role that exist. I followed your example on the link below.

http://devnet.kentico.com/docs/devguide/index.html?security_handler.htm

I am getting a squiggy line on rolesTable coloured in red below with the error message below this mail.
What do I need to do?
void Authenticate_Execute(object sender, AuthenticationEventArgs e)
{
if (e.User != null && !e.User.UserIsDomain)
{
UserInfo siteui = e.User as UserInfo;
....
....
if (validManager == "1")
{
//do something
Hashtable rolesTable = new Hashtable();
string siteName = CMSContext.CurrentSite.SiteName;
siteui.SitesRoles[siteName.ToLower()] = rolesTable;
rolesTable["KcmsManagerOnly"] = 0;
}
}
else
{
//do nothing
}
}
Error message:
cannot implicitly convert type system.collections.hashtable to cms.settingsprovider.safedictionary <string, int?>
An explicit conversion exist(are you missing a cast?)

User avatar
Member
Member
dotun.gbile-Ameripride - 7/18/2013 4:25:44 PM
   
RE:Error message while assigning user to a role
I got the error message on this line.
siteui.SitesRoles[siteName.ToLower()] = rolesTable;

User avatar
Kentico Customer Success
Kentico Customer Success
kentico_martind2 - 7/20/2013 1:43:04 PM
   
RE:Error message while assigning user to a role
Hello,

You can try to replace the definition:
Hashtable rolesTable = new Hashtable();

with:
SafeDictionary<string, int?> rolesTable = new SafeDictionary<string, int?>();

Please note that using custom handlers this way (libraries) is obsolete and since version 6 is done by Global Events. Please refer to devnet.kentico.com/docs/devguide/event_handlers_overview.htm.

Best Regards,
Martin Danko