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;
    }
  • 相关阅读:
    Jaeger Client Go 链路追踪|入门详解
    Go 中的 gRPC 入门详解
    【五分钟】001-数据结构概论
    【重榜?】.NET 6 Preview 1 开箱上手!带你尝试新版本更新!
    分布式链路追踪框架的基本实现原理
    【网摘】SQL练习题
    【数据库】E-R图向关系模型转换的规则
    6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)
    【数据库】入门基础概念以及部分题目 记录 +答案+个人分析
    5.0 数据库完整性详解(PRIMARY KEY、REFERENCES、CHECK、CONSTRAINT、DOMAIN、TRIGGER)
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2417854.html
Copyright © 2011-2022 走看看