/// <summary>
 /// Checks if the user should use this permission.
 /// </summary>
 /// <param name="userName">The name of the user that is being checked.</param>
 /// <param name="manager"></param>
 /// <returns>True if the permission is valid for the user, false otherwise.</returns>
 public virtual bool CheckUser(ISecurityManager manager, string userName)
 {
     if (string.IsNullOrEmpty(refId))
     {
         return(CheckUserActual(manager, userName));
     }
     else
     {
         IPermission refPermission = manager.RetrievePermission(refId);
         if (refPermission == null)
         {
             throw new BadReferenceException(refId);
         }
         else
         {
             return(refPermission.CheckUser(manager, userName));
         }
     }
 }
Beispiel #2
0
        public void CheckUserWithValidReference()
        {
            string           userName      = "******";
            string           goodReference = "doesExist";
            IPermission      goodAssertion = mocks.StrictMock <IPermission>();
            ISecurityManager manager       = mocks.StrictMock <ISecurityManager>();

            Expect.Call(manager.RetrievePermission(goodReference)).Return(goodAssertion);
            Expect.Call(goodAssertion.CheckUser(manager, userName)).Return(true);

            mocks.ReplayAll();
            UserPermission assertion = new UserPermission();

            assertion.RefId = goodReference;
            bool result = assertion.CheckUser(manager, userName);

            Assert.IsTrue(result);
            mocks.VerifyAll();
        }