• SPGroup 和SPUser的常用操作


        private bool RemoveUserFromGroup(string sGoupName, string sUserLoginName)
    {
    bool res = false;
    try
    {
    SPWeb web = SPContext.Current.Web;
    SPGroup oGroup = web.SiteGroups[sGoupName];
    SPUser oUser = GetSPUser(sUserLoginName);
    if (oUser != null)
    {
    web.AllowUnsafeUpdates = true;
    oGroup.RemoveUser(oUser);
    oGroup.Update();
    res = true;
    web.AllowUnsafeUpdates = false;
    }
    }
    catch (Exception ex)
    {
    string sMessage = ex.Message;
    //throw;
    }
    return res;
    }
    private bool RemoveUserFromGroup(SPGroup oGroup, SPUser oUser)
    {
    bool res = false;
    try
    {
    SPWeb web = SPContext.Current.Web;
    if (oUser != null&&oGroup!=null)
    {
    web.AllowUnsafeUpdates = true;
    oGroup.RemoveUser(oUser);
    oGroup.Update();
    res = true;
    web.AllowUnsafeUpdates = false;
    }
    }
    catch (Exception ex)
    {
    string sMessage = ex.Message;
    //throw;
    }
    return res;
    }
    private SPUser GetSPUser(string sLoginName)
    {
    SPUser oUser = null;
    try
    {
    if (!string.IsNullOrEmpty(sLoginName))
    {
    oUser = SPContext.Current.Web.EnsureUser(sLoginName);
    }
    }
    catch (Exception ex)
    {
    string sMessage = ex.Message;
    }
    return oUser;
    }

    private void RemoveUser(string sLoginName)
    {
    SPUser oUser = GetSPUser(sLoginName);
    if (oUser!=null)
    {
    SPGroupCollection groups = oUser.Groups;
    if (groups!=null&&groups.Count>0)
    {
    foreach (SPGroup g in groups)
    {
    RemoveUserFromGroup(g, oUser);
    }
    }
    }
    }


    private bool AddUserIntoGroup(string sGroupName, string sUserLoginName)
    {
    bool res = false;
    try
    {
    SPWeb web = SPContext.Current.Web;
    web.AllowUnsafeUpdates = true;
    SPGroup oGroup = web.SiteGroups[sGroupName];
    SPUser oUser = GetSPUser(sUserLoginName);
    if (oUser != null)
    {
    oGroup.AddUser(oUser);
    oGroup.Update();

    res = true;
    }
    web.AllowUnsafeUpdates = false;
    }
    catch (Exception ex)
    {
    string sMessage = ex.Message;
    //throw;
    }
    return res;
    }

    private string FilterSPUserString(string str)
    {
    if (string.IsNullOrEmpty(str))
    {
    return str;
    }
    if (str.IndexOf(";#") > 0)
    {
    str = str.Substring(str.LastIndexOf(";#") + 2);
    }
    return str;
    }


    private bool CreateSiteGroup(string sGroupName, string sGroupDescription)
    {
    bool res = false;
    using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
    {
    oWebsiteRoot.AllowUnsafeUpdates = true;
    SPGroupCollection collGroups = oWebsiteRoot.SiteGroups;
    string sLoginName = SPContext.Current.Web.CurrentUser.LoginName;
    SPUser oUser = oWebsiteRoot.Users[sLoginName];
    SPMember oMember = oWebsiteRoot.Users[sLoginName];
    collGroups.Add(sGroupName, oMember, oUser, "Description");
    oWebsiteRoot.AllowUnsafeUpdates = false;
    res = true;
    }
    return res;
    }
    /// <summary>
    /// 给组赋权限
    /// </summary>
    /// <param name="sGroupName"></param>
    /// <param name="sPermissionLever"></param>
    /// <returns></returns>
    private bool SetGroupPermission(string sGroupName, string sPermissionLever)
    {
    bool res = false;
    using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
    {
    oWebsiteRoot.AllowUnsafeUpdates = true;
    SPRoleAssignment roleAssignment = new SPRoleAssignment(oWebsiteRoot.SiteGroups[sGroupName]);
    roleAssignment.RoleDefinitionBindings.Add(oWebsiteRoot.RoleDefinitions[sPermissionLever]);
    oWebsiteRoot.Update();
    oWebsiteRoot.AllowUnsafeUpdates = false;
    res = true;
    }
    return res;
    }

    private void DeleteSiteGroup(SPWeb web, string groupName)
    {
    web.AllowUnsafeUpdates = true;
    SPGroupCollection groups = web.SiteGroups;
    groups.Remove(groupName);
    web.Update();
    web.AllowUnsafeUpdates = false;
    }

     判断当前用户是否存在该组

       public  bool IsUserInGroup(string groupName)
    {
    bool inGroup = false;
    try
    {
    SPGroup group = SPContext.Current.Web.Groups[groupName];
    inGroup = group.ContainsCurrentUser;
    }
    catch (Exception ex)
    {
    // SharePoint throws an exception if the group indexer
    // is not a group the current user belongs to.
    inGroup = false;
    }
    return inGroup;
    }
  • 相关阅读:
    爬虫_监控某个元素所有事件
    Selenium_Selenium WebDriver 中鼠标和键盘事件分析及扩展
    Selenium_webdriver获取iframe子页面元素
    Java_Servlet 中文乱码问题及解决方案剖析
    thinkphp自动填充分析
    linux安装配置SVN并设置钩子
    HTTP协议提要
    一致性Hash算法(分布式算法)
    设计模式之:原型模式
    面向对象设计的五大原则
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2417854.html
Copyright © 2020-2023  润新知