Админ экстрасети Sitecore? - PullRequest
2 голосов
/ 30 марта 2011

Привет Я разрабатываю приложение с несколькими сайтами, и у каждого сайта есть свой собственный экстранет, и все это прекрасно работает с использованием Sitecore 6.4.

Теперь мне нужны редакторы (не администраторы) каждого сайта, чтобы иметь возможность создавать пользователей экстрасети, которые имеют доступ только к экстрасети, подключенной к сайту, возможно ли это?

В основном я ищу такую ​​структуру:

Sitecore \ Editor (локальный администратор экстрасети)

Экстранет \ пользователь

1 Ответ

0 голосов
/ 30 марта 2011

Я думаю, вы могли бы создать роль экстранета для каждого из вас, например экстранет.Site1Admin.

А затем создайте страницу, которая позволит ему создать пользователя, предоставив ему основные роли, которые ему необходимы.

Это код для Sitecore 6.0, хотя он должен быть таким же для6.4 afaik:

Sitecore.Security.Accounts.User user;
if (!Sitecore.Context.IsLoggedIn)
{
    string domainUser = Sitecore.Context.Domain.GetFullName("youruser");
    string txtPassword = "yourpass";
    string txtEmail = "youremail";

    if (Sitecore.Security.Accounts.User.Exists(domainUser))
        return;

    MembershipCreateStatus status;
    Membership.CreateUser(domainUser, txtPassword, txtEmail, "Never?", "Always!", true, out status);

    if (!status.Equals(MembershipCreateStatus.Success))
    {
        throw new MembershipCreateUserException(status.ToString());
    }       
    user = //something to load the user, probably in Sitecore.Security.Accounts.User
}
    var role = "extranet\\Site1User";   

    var roles = Roles.GetRolesForUser(); //this is probably only for the current context user
    if (!roles.Contains(role))
    {
        try
        {
            Roles.AddUsersToRole(new string[] { "youruser" }, role);
        }
        catch(System.Configuration.Provider.ProviderException)
        {
            // do nothing, just move on
        }

    }
}

Это довольно просто, основано на некотором коде, который я пытался взломать вместе из некоторого рабочего кода, который создал пользователя и вошел в него и должен быть адаптирован к тому, что вы делаете,так как, вероятно, есть некоторые ошибки.

...