![]() | RemUserCreateACL Method |
Namespace: Paperwork.Connect
public a_GenericResult CreateACL( a_ACLInfo ud )
public void CreateAcl() { a_ACLInfo acl = new a_ACLInfo(); acl.ACLName = new ObjectName("Test Acl"); acl.Description = "Test için oluşturuldu"; acl.IsInternal = 0; acl.IsPublic = 1; acl.Owner = string.Empty; //acli yaratan kullanıcının giriş adı verilecek acl.Members = new List<a_ACLMemberInfo>(); //nesneyi yaratan kullanıcının nesne üzerindeki hakları a_ACLMemberInfo pw_owner = new a_ACLMemberInfo() { Name = new ObjectName(Definitions.PW_OWNER), DisplayName = Definitions.PW_OWNER, MemberType = MemberTYPES.ROLE, ObjectId = new ObjectID("0000000000000001"), BasicPerm = 0, // hak verilmiyor ExtPerm = 0 // hak verilmiyor }; acl.Members.Add(pw_owner); //yetki seti dışında kalan kullanıcıların nesne üzerindeki hakları a_ACLMemberInfo pw_word = new a_ACLMemberInfo() { Name = new ObjectName(Definitions.PW_WORLD), DisplayName = Definitions.PW_WORLD, MemberType = MemberTYPES.ROLE, ObjectId = new ObjectID("0000000000000002"), BasicPerm = 15, ExtPerm = 280856484642816 }; acl.Members.Add(pw_word); //bilet kullanıcının nesne üzerindeki hakları a_ACLMemberInfo pw_ticket = new a_ACLMemberInfo() { Name = new ObjectName(Definitions.PW_TICKET_USER), DisplayName = Definitions.PW_TICKET_USER, MemberType = MemberTYPES.ROLE, ObjectId = new ObjectID("0000000000000003"), BasicPerm = 0, // hak verilmiyor ExtPerm = 0 // hak verilmiyor }; acl.Members.Add(pw_ticket); //yetki setine kullanıcı eklemek için; a_UserInfo user = p.rUser.LoadUser(new ObjectName("test")); a_ACLMemberInfo m_user = new a_ACLMemberInfo() { Name = user.UserLogin, DisplayName = user.UserName, MemberType = MemberTYPES.USER, ObjectId = user.ObjectId, BasicPerm = 15, ExtPerm = 280856484642816 }; acl.Members.Add(m_user); //yetki setine grup eklemek için; ObjectID group_id = getGroupID("Test group"); a_GroupInfo group = p.rUser.LoadGroup(group_id); a_ACLMemberInfo m_group = new a_ACLMemberInfo() { Name = group.GroupName, DisplayName = string.Empty, MemberType = MemberTYPES.GROUP, ObjectId = group.ObjectId, BasicPerm = 15, ExtPerm = 280856484642816 }; acl.Members.Add(m_group); //yetki seti içindeki kullanıcının temel yetkileri değiştirilmek isteniyor ise aşağıdaki gibi yapılabilir pw_word.setPerms(ACLRights.READ, ACLRights.WRITE); //yetki seti içindeki kullanıcıya tüm haklar verilmek isteniyorsa aşağıdaki gibi yapılabilir pw_owner.BasicPerm = 15; pw_owner.ExtPerm = 280856484642816; a_GenericResult retval = p.rUser.CreateACL(acl); if (retval.ErrorCode != 0) throw new Exception(retval.Message); else { string acl_id = retval.Result; Console.Write("Yetki seti nesne numarası :{0}", acl_id); } } private ObjectID getGroupID(string group_name) { a_GroupList grps = p.rUser.GetGroups(group_name, false, 0); if (grps.Items.Count == 0) throw new Exception("Grup bulunamadı"); else if (grps.Items.Count == 1) return grps.Items[0].ObjectId; else { foreach (a_GroupInfo grp in grps.Items) if (grp.GroupName.Value.Equals(group_name)) return grp.ObjectId; throw new Exception("Grup bulunamadı!"); } }