예제 #1
0
        public void CheckPermission()
        {
            User user = new User();
            user.Name = "test-add-user";
            user.Account = StringFactory.NewGuid();
            user.Save();

            Operation target = new Operation();
            target.Code = StringFactory.NewGuid();
            target.AppId = StringFactory.NewGuid();
            target.TargetId = StringFactory.NewGuid();
            target.Name = "test-add-RoleTargetOperation";

            bool b = user.CheckPermission(target);
            Assert.IsFalse(b);

            User user1 = new User();
            user1.Name = "test-add-user";
            user1.Account = StringFactory.NewGuid();
            user1.Save();

            Role role = Role.Create();
            role.Name = "test-giverole-role";
            role.Save();

            role.GivePermission(target);
            user.GiveRole(role);

            User user2 = User.GetUser(user.Account);
            var b1 = user2.CheckPermission(target);
            Assert.IsTrue(b1);

            role.Delete();
            user1.CancelRole(role);
            role.CancelPermission(target);
            user.Delete();
            user1.Delete();
        }