示例#1
0
        private PxAuthorizationInfo getPxAuthorizationInfo(List <Authorization> pData)
        {
            PxAuthorizationInfo result = new PxAuthorizationInfo();
            long   tailYetkiNo         = 0;
            string tailYetkiKod        = null;
            int    tailIzin            = 0;

            foreach (Authorization a in pData)
            {
                PxResourceInfo resource = result.GetResource(a.VARLIKKOD);
                if (resource == null)
                {
                    resource = this.createNewResource(a, ref tailYetkiNo, ref tailYetkiKod, ref tailIzin);
                    result.AddResource(resource);
                }
                else
                {
                    PxPermissionInfo perm = resource.GetPermission(string.IsNullOrEmpty(a.YETKIKOD) ? tailYetkiKod : a.YETKIKOD);
                    if (perm == null)
                    {
                        perm = this.createNewPermission(a, ref tailYetkiNo, ref tailYetkiKod, ref tailIzin);
                    }
                    resource.AddPermission(perm);
                }
            }

            return(result);
        }
示例#2
0
        public void TestAuthorization()
        {
            PxAuthorizationInfo au = this.GetAuthenticationMock();

            PxResourceInfo r1 = au.GetResource("Home");
            PxResourceInfo r2 = au.GetResource("Home", "READ");

            bool a = au.IsPermissionGiven("Home", "READ");
            bool b = au.IsPermissionGiven("Home", "ACCESS");
        }
示例#3
0
        public PxAuthorizationInfo GetAuthenticationMock()
        {
            PxAuthorizationInfo auth = new PxAuthorizationInfo();


            PxPermissionInfo perm1 = new PxPermissionInfo();

            perm1.ID      = 1;
            perm1.Code    = "READ";
            perm1.Name    = "Okuma";
            perm1.IsGiven = true;

            PxPermissionInfo perm2 = new PxPermissionInfo();

            perm2.ID      = 2;
            perm2.Code    = "WRITE";
            perm2.Name    = "Yazma";
            perm2.IsGiven = true;

            PxPermissionInfo p3 = new PxPermissionInfo();

            p3.ID      = 3;
            p3.Code    = "ACCESS";
            p3.Name    = "ERişim yetkisi";
            p3.IsGiven = true;


            PxResourceInfo r1 = new PxResourceInfo();

            r1.ID   = 1;
            r1.Code = "Home_Index";
            r1.Name = "Karşılama sayfası";
            r1.Type = Peak.Auth.Enums.PxResourceType.CodeBlock;
            r1.Permissions.Add(perm1.Code, perm1);
            r1.Permissions.Add(perm2.Code, perm2);

            PxResourceInfo r2 = new PxResourceInfo();

            r2.ID   = 2;
            r2.Code = "Home";
            r2.Name = "Home Controller - container";
            r2.Type = Peak.Auth.Enums.PxResourceType.CodeBlockContainer;
            r2.Permissions.Add(p3.Code, p3);

            auth.AuthorizationDate = DateTime.Now;
            auth.Source            = "MOCK CREATOR - Peak.Test.Console.Auth.PxAuthorizationTester";
            auth.Resources.Add(r1.Code, r1);
            auth.Resources.Add(r2.Code, r2);

            return(auth);
        }
示例#4
0
        private PxResourceInfo createNewResource(Authorization pAuth, ref long pTailYetkiNo, ref string pTailYetkiKod, ref int pTailIzin)
        {
            PxResourceInfo resource = new PxResourceInfo();

            resource             = new PxResourceInfo();
            resource.Code        = pAuth.VARLIKKOD;
            resource.ID          = pAuth.VARLIKNO;
            resource.Name        = pAuth.VARLIKAD;
            resource.ParentID    = pAuth.UST_VARLIKNO;
            resource.Permissions = new Dictionary <string, PxPermissionInfo>();


            PxPermissionInfo perm = this.createNewPermission(pAuth, ref pTailYetkiNo, ref pTailYetkiKod, ref pTailIzin);

            resource.AddPermission(perm);

            return(resource);
        }