0

我正在尝试通过 Kentico API 创建一个新的 Kentico 用户并将它们分配给一个站点: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 站点上的站点。它确实是使用所有属性创建的。

4

2 回答 2

1

您必须使用SiteInfoProvider来获取站点代码名称

var si = SiteInfoProvider.GetSites()
                         .WhereEquals("SiteId",123)
                         .FirstOrDefault();
UserInfoProvider.AddUserToSite(newUser.UserName, si.SiteName);
于 2019-10-25T18:38:32.947 回答
0

只需在保存用户后将用户添加到站点。

//save user
UserInfoProvider.SetUserInfo(newUser);

//add user to site
UserInfoProvider.AddUserToSite(newUser.UserName, "My Site Code Name (not display name)");
于 2019-10-25T21:00:47.067 回答