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;
    }
  • 相关阅读:
    共相式GIS
    Windows下启动停止Oracle11g服务-为解决系统变慢而生
    myeclipse同时部署两个项目-permgen space
    解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
    MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
    C++11多线程std::thread的简单使用
    STL中的set使用方法详细
    Cocos2dx使用网络图片
    Cocos2d-x 截图功能
    GitHub使用指南之快速入门
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2417854.html
Copyright © 2011-2022 走看看