Click or drag to resize

RemUserCreateACL Method

Paperwork .Net Kütüphanesi
Yetki seti oluşturmak için kullanılır.

Namespace:  Paperwork.Connect
Assembly:  Paperwork.Connect (in Paperwork.Connect.dll) Version: 5.0.0.0
Syntax
C#
public a_GenericResult CreateACL(
	a_ACLInfo ud
)

Parameters

ud
Type: a_ACLInfo
Yaratılacak yetki seti bilgisi

Return Value

Type: a_GenericResult
a_GenericResult nesesi içinde , ErrorCode=0 ise işlem başarılıdır. Aksi taktirde Result ve Message alanları kontrol ediniz.
Examples
C#
  
             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ı!");
                 }
             }
                 
See Also