public override void GroupUserDeleted(SPSecurityEventProperties properties)
        {
            base.GroupUserDeleted(properties);
            var group = properties.Web.Groups.GetByID(properties.GroupId);

            if (group.Name == "Report Viewers" || group.Name == "Administrators")
            {
                var removedUser = properties.Web.AllUsers.GetByID(properties.GroupUserId);
                var syncJob     = new SyncJob();
                syncJob.execute(properties.Web.Site, properties.Web, $"removerole~{removedUser.LoginName}~{group.Name}");
            }
        }
        public override void GroupUserAdded(SPSecurityEventProperties properties)
        {
            base.GroupUserAdded(properties);
            var group = properties.Web.Groups.GetByID(properties.GroupId);

            if (group.Name == "Report Viewers" || group.Name == "Administrators")
            {
                var addedUser    = properties.Web.AllUsers.GetByID(properties.GroupUserId);
                var extendedList = properties.Web.SiteUserInfoList.Items.GetItemById(addedUser.ID);
                extendedList["Synchronized"] = false;
                extendedList.Update();
                SSRSSyncQueueAgent.EnequePFEJobSingleSiteCollection(properties.Web.Site.WebApplication, properties.Web.Site);
            }
        }
示例#3
0
        public override void GroupUserDeleted(SPSecurityEventProperties properties)
        {
            base.GroupUserDeleted(properties);

            //Get the user being added
            SPUser delUser = properties.Web.AllUsers.GetByID(properties.GroupUserId);

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                if (delUser != null && properties.GroupId == groupNum)
                {
                    SPGroup spGroup = properties.Web.Groups[groupName];

                    if (spGroup != null)
                        spGroup.RemoveUser(delUser);
                }
            });
        }
 public override void RoleDefinitionUpdating(SPSecurityEventProperties properties)
 {
     base.RoleDefinitionUpdating(properties);
 }
 public override void RoleDefinitionDeleted(SPSecurityEventProperties properties)
 {
     base.RoleDefinitionDeleted(properties);
 }
 public override void RoleAssignmentDeleting(SPSecurityEventProperties properties)
 {
     base.RoleAssignmentDeleting(properties);
 }
 public override void RoleAssignmentAdded(SPSecurityEventProperties properties)
 {
     base.RoleAssignmentAdded(properties);
 }
示例#8
0
 public override void GroupUpdating(SPSecurityEventProperties properties)
 {
     base.GroupUpdating(properties);
 }
示例#9
0
 public override void GroupDeleted(SPSecurityEventProperties properties)
 {
     base.GroupDeleted(properties);
 }
示例#10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="properties"></param>
        public override void GroupUserAdded(SPSecurityEventProperties properties)
        {
            SPEventReceiverType eventtype = properties.EventType;

            //if (properties.UserLoginName.Contains("zimbramembershipprovider") || properties.UserLoginName.Contains("zimbraroleprovider"))
            //{


            using (SPSite site = new SPSite(properties.SiteId))
            {
                SPWeb  web   = site.OpenWeb(properties.WebId);
                SPList users = web.GetCatalog(SPListTemplateType.UserInformation);
                if (users != null)
                {
                    SPListItem luser = users.GetItemById(properties.GroupUserId);
                    string     value = luser[ZimbraFieldId.Name] as string;
                    if (!string.IsNullOrWhiteSpace(value))
                    {
                        try
                        {
                            if (value.Contains("zimbramembershipprovider") || value.Contains("zimbraroleprovider"))
                            {
                                //0#.f|zimbramembershipprovider|12073385
                                string         identifier = value.Split('|').Last();
                                MembershipUser user;
                                if (!string.IsNullOrWhiteSpace(identifier))
                                {
                                    user = Provider.GetUser(identifier, true);
                                }
                                else
                                {
                                    user = Provider.GetUser(value, true);
                                }
                                ZimbraMembershipUser zuser = null;
                                if (user != null && user.GetType() == typeof(ZimbraMembershipUser))
                                {
                                    zuser = user as ZimbraMembershipUser;
                                }

                                if (zuser != null)
                                {
                                    luser[ZimbraFieldId.Title]      = zuser.displayName;
                                    luser[ZimbraFieldId.SipAddress] = zuser.Email;
                                    luser.Update();
                                }
                            }
                        }
                        catch { }
                    }
                }

                /*
                 * string identifier = properties.UserLoginName.Split('|').Last();
                 * MembershipUser user;
                 * if (!string.IsNullOrWhiteSpace(identifier))
                 * {
                 *  user = Provider.GetUser(identifier, true);
                 * }
                 * else
                 * {
                 *  user = Provider.GetUser(properties.UserLoginName, true);
                 * }
                 *
                 * ZimbraMembershipUser zuser = null;
                 * if (user != null && user.GetType() == typeof(ZimbraMembershipUser))
                 * {
                 *  zuser = user as ZimbraMembershipUser;
                 * }
                 *
                 * if (zuser != null)
                 * {
                 *
                 * }
                 */
            }

            int         id          = properties.GroupUserId;
            string      name        = properties.GroupUserLoginName;
            SPUserToken token       = properties.OriginatingUserToken;
            string      displayname = properties.UserDisplayName;
            string      loginname   = properties.UserLoginName;
            //base.GroupUserAdded(properties);
        }