我正在尝试创建一个新的Kentico用户并将其通过Kentico API分配给站点:https://docs.kentico.com/api11/configuration/users#Users-Assigningausertoasite
就我而言,SiteContext.CurrentSiteName
返回空字符串。我想到了通过对网站进行硬编码来尝试。
UserInfor newUser = new UserInfo();
//...set all required properties...
//add user to site
UserInfoProvider.AddUserToSite(newUser.UserName, "My Site Code(or Display) Name");
//save user
UserInfoProvider.SetUserInfo(newUser);
在UserInfoProvider.AddUserToSite
中尝试了站点的显示名称和代码名称,但是未在Kentico站点上将用户分配给该站点。它的确具有所有属性。
您必须使用SiteInfoProvider来获取站点代码名称
var si = SiteInfoProvider.GetSites()
.WhereEquals("SiteId",123)
.FirstOrDefault();
UserInfoProvider.AddUserToSite(newUser.UserName, si.SiteName);
只需将用户添加到站点after中即可保存用户。
//save user
UserInfoProvider.SetUserInfo(newUser);
//add user to site
UserInfoProvider.AddUserToSite(newUser.UserName, "My Site Code Name (not display name)");