Armory.Security.Providers.RightsProvider.DoesUserHaveAccessRights C# (CSharp) Метод

DoesUserHaveAccessRights() публичный Метод

public DoesUserHaveAccessRights ( string name, string actionName ) : bool
name string
actionName string
Результат bool
        public bool DoesUserHaveAccessRights(string name, string actionName)
        {
            var roles = _roleProvider.GetRolesForUser(name);

            var rights = _rightsRepository.AsQuearyable<Right>().Where(x => x.RightName == actionName);

            return rights.Any() && rights.All(x => x.Allow);
        }

Usage Example

Пример #1
0
        public void CallsRoleProviderForRoleList()
        {
            //arrange
            string userName = "******";
            var mockRoleProvider = _mockRepository.StrictMock<RoleProvider>();
            mockRoleProvider.Expect(x => x.GetRolesForUser("Test")).Return(new string[] {"Test"});

            var mockRightsRepository = _mockRepository.StrictMock<IRepository>();
            mockRightsRepository.Expect(x => x.AsQuearyable<Right>()).Return(new List<Right> {new Right("Test", true)}.AsQueryable());

            var rightsProvider = new RightsProvider(mockRoleProvider,mockRightsRepository);

            //act
            var returnedValue = rightsProvider.DoesUserHaveAccessRights("Test", "Test.Test");

            //assert
            Assert.IsTrue(returnedValue);
            _mockRepository.VerifyAll();
        }