我正在使用Ektron 9.如何讓會員用戶成爲Ektron會員組的管理員?
我有一種情況,那裏有Ektron的N個成員組。我想將 一個會員用戶關聯到每個會員組,即如果我有4個組,則應該有4個管理員,每個組有一個管理員。
業務場景是我需要觸發一個電子郵件到相應的組管理員,當一個新的會員用戶註冊Ektron。
有什麼辦法可以在Ektron中實現這個嗎?
在此先感謝。
我正在使用Ektron 9.如何讓會員用戶成爲Ektron會員組的管理員?
我有一種情況,那裏有Ektron的N個成員組。我想將 一個會員用戶關聯到每個會員組,即如果我有4個組,則應該有4個管理員,每個組有一個管理員。
業務場景是我需要觸發一個電子郵件到相應的組管理員,當一個新的會員用戶註冊Ektron。
有什麼辦法可以在Ektron中實現這個嗎?
在此先感謝。
Ektron中沒有成員組的「管理員」概念。有一個社區小組,這可能是你想要的。在這種情況下是,這裏的文檔:
但是,如果你真的想通知會員集團的成員,那麼你就需要有幾件事情。
首先,您需要一個使用OnAfterUserAddInGroup的UserStrategy(如果您還在通知移除,那麼還有一個OnAfterUserDeleteFromGroup)。這將是您啓動代碼/應用程序/發送電子郵件的任何地方。 Strategies Documentation
但是,要確定哪個用戶是「admin」將會非常棘手。正如我所說,沒有成員組織的管理員。所以你必須拿出你自己的方式將其分配給某人。你可以使用自定義角色。在這種情況下,您將擁有每個成員組的[GroupName]管理員角色。這些可以在您每次使用UserGroupStrategy OnAfterAddUserGroup創建組時創建(並使用OnAfterUpdateUserGroup或OnBeforeUpdateUserGroup重命名該角色)。 Roles Documentation
然後,您可以爲該角色分配一個(或多個)用戶。他們甚至不一定需要成爲該組織的成員。它可能是一個會員或CMS用戶等。
如果您建立了組名稱=角色名稱+「管理」約定,那麼在策略中,您只需找到當前組中遵循該範式的角色,獲得該角色的用戶,並向他們發送電子郵件。
這有點複雜,但它會工作,它將主要是自動化的。
以下是一個註釋示例,展示瞭如何初始化API,獲取所有角色,檢查用戶是否是角色成員,添加新的自定義角色,向角色添加成員以及從角色中移除成員。
var RoleAPI = new Ektron.Cms.API.Content.Content().EkContentRef;
// Get all custom roles (careful, as the first item in my test was null)
var roles = RoleAPI.GetAllRolePermissions();
// This will eliminate returned nulls.
var names = roles.Where(r => r != null).Select(r => r).ToArray();
// Check whether a user is a member of the role.
var isAMember = RoleAPI.IsARoleMember(1002, 10);
// Add a new custom role.
RoleAPI.AddRolePermission("Membership Group Admin");
// Add a user to a role.
var member = new RoleMemberData()
{
MemberId = 10,
// Even membership users are type = User.
MemberType = RoleMemberData.RoleMemberType.User
};
RoleAPI.AddRoleMember(1002, ref member);
// Remove a user from a role (using member as defined above).
RoleAPI.DropRoleMember(1002, ref member);
正在打交道的唯一成員users.I有你點@egandalf。但可以ü請讓我知道曄用於獲取用戶下ektron.Thank你一個特定的自定義角色時花費的API爲了我。 – 2014-08-29 06:05:23