Ejemplo n.º 1
0
        public void CanByType3()
        {
            var ide = new IdentityDao
            {
                Id          = "test",
                Name        = "Test",
                Permissions = new[] {
                    new PermissionDao {
                        Value    = true,
                        Function = Admin.Id.ToString(),
                    },
                    new PermissionDao {
                        Value    = true,
                        Function = Admin.Id.ToString(),
                        Scopes   = new[] {
                            new ScopeDao {
                                Discriminator = Discriminator.Category.Purchases,
                                Propagation   = ScopePropagation.ToMe
                            },
                        }
                    },
                }.ToList()
            };

            Assert.True(ide.EnsureCan(Read).Instance(File.Document.Word.Word1),
                        "Tengo:\r\n" +
                        $" - Concedido el permiso para {nameof(Admin)} en {nameof(Discriminator.Category.Purchases)}\r\n" +
                        $"¿Debería poder {nameof(Read)} en {nameof(File.Document.Word.Word1)}?\r\n" +
                        " Si");
            Assert.True(ide.EnsureCan(Read).Something(),
                        "Tengo:\r\n" +
                        $" - Concedido el permiso para {nameof(Admin)} en {nameof(Discriminator.Category.Purchases)}\r\n" +
                        $"¿Debería poder {nameof(Read)} alguna cosa?\r\n" +
                        " Si");
        }
Ejemplo n.º 2
0
        public void CanByType()
        {
            var ide = new IdentityDao
            {
                Id          = "test",
                Name        = "Test",
                Permissions = new[] {
                    new PermissionDao {
                        Value    = true,
                        Function = Admin.Id.ToString(),
                        Scopes   = new[] {
                            new ScopeDao {
                                Discriminator = Discriminator.Category.Purchases,
                                Propagation   = ScopePropagation.ToMe
                            },
                            new ScopeDao {
                                Discriminator = Factory.Get <TypeDiscriminatorFactory>().FromType <BaseDao>(),
                                Propagation   = ScopePropagation.ToMe | ScopePropagation.ToInclusions
                            },
                        }
                    },
                }.ToList()
            };

            ide.EnsureCan(Read).Type <WordDocumentDao>();
            Assert.True(ide.EnsureCan(Read).Type <WordDocumentDao>(),
                        "Tengo:\r\n" +
                        $" - Concedido el permiso para {nameof(Admin)} la categoria {Discriminator.Category.Purchases} del tipo {nameof(BaseDao)} y derivados\r\n" +
                        $"¿Debería poder {nameof(Read)} en {nameof(WordDocumentDao)}?\r\n" +
                        " Si");
            Assert.True(ide.EnsureCan(Admin).Something(),
                        "Tengo:\r\n" +
                        $" - Concedido el permiso para {nameof(Admin)} la categoria {Discriminator.Category.Purchases} del tipo {nameof(BaseDao)} y derivados\r\n" +
                        $"¿Debería poder {nameof(Admin)} alguna cosa?\r\n" +
                        " Si");
        }