zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    微信小程序获取用户绑定手机号码完整版
    SQL读取当天的数据
    Android 百度离线地图(由apk文件转入手机内部存储)
    解决windows家庭版系统不支持远程桌面功能问题
    微信小程序携参跳转页面
    微信小程序 websocket 封装
    微信小程序HTTP请求封装
    Ionic项目打包Android在9版本以上不能进行HTTP通信问题
    Ionic 使用 MQTT
    Ionic HTTP 请求
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2417854.html
Copyright © 2011-2022 走看看