SharePoint 2010 Role Assignment & Anonymous

Role Assignment & Anonymous method using code
  1. Anonymous Access  
  2. Role Assignment in item level

1. Anonymous Access  

private void RestrictedFormPagesCode_Click(object sender, EventArgs e)

SPSite site = new SPSite("http://home");
             SPWeb _web = site.RootWeb;
             _web.AnonymousPermMask64 = _web.AnonymousPermMask64 ^ SPBasePermissions.ViewFormPages;

 2. Role Assignment in item level

private void RoleAssignment_Click(object sender, EventArgs e)

SPSite site = new SPSite("http://home");
             SPWeb _web = site.RootWeb;
              SPListItem taskitem = CreateAssignTask(_web);




Helper function for creating a assign task.

       static SPListItem CreateAssignTask(SPWeb _web)
            SPList _list = _web.Lists["task"];
            SPListItem taskitem = _list.Items.Add();
            taskitem["Title"] = "this task assign to basant";
            SPUser _user = _web.EnsureUser(@"home\\basant.pandey"); // If not exist then create the user using  this method
            SPFieldUserValue basant = new SPFieldUserValue(_web, _user.ID, _user.LoginName);
// SPFieldUserValue used for set complex data type values. There are many more classes are used like SPFieldUrlValue. Because in SharePoint every think store as a string. Working on the complex values we have to must use this classes to make our work easy.
            taskitem["Assigned To"] = _user;
            return taskitem;

        static void CreateTaskassign(SPWeb _web)
            SPRoleDefinition _def = new SPRoleDefinition();
            _def.Name = "task asign users";
            _def.Description = "can't delete this items";
              //bit wise or to create the base permission.
            _def.BasePermissions = SPBasePermissions.ViewListItems |
                SPBasePermissions.EditListItems |
                SPBasePermissions.Open | SPBasePermissions.ViewPages;
// add the permission to the web.

        static void setpermission(SPListItem _item)
              // set the role permission to item level.

            SPWeb _web = _item.Web;
              // we have to break the inheritance to give the unique permission to the items or any other list.

              // reverse back the item using following constructor of the SPFieldUserValue
            SPFieldUserValue taskwebOwener = new SPFieldUserValue(_web, (string)_item["Assigned To"]);
            SPRoleAssignment assign = new SPRoleAssignment(taskwebOwener.User); // can be user or can be group
            assign.RoleDefinitionBindings.Add(_web.RoleDefinitions["task asign users"]);



Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

STS CryptographicException Error : Key set does not exist

Query suggestions in SP 2013 Using Rest API (/_api/search/suggest)