Ejemplo n.º 1
0
        public void MasterNotCheckedState()
        {
            var checker = new UserStateChecker();
            var user    = new User {
                Logable = true, Active = true, Expire = DateTime.Now.AddDays(10), Domain = "m1"
            };

            Assert.AreEqual(UserActivityState.MasterNotChecked, checker.GetActivityState(user));
        }
Ejemplo n.º 2
0
        public void ExpireActivityState()
        {
            var checker = new UserStateChecker();
            var user    = new User {
                Logable = true, Active = true, Expire = DateTime.Now.AddDays(-10)
            };

            Assert.AreEqual(UserActivityState.Expired, checker.GetActivityState(user));
        }
Ejemplo n.º 3
0
        public void SecureLogable()
        {
            var checker = new UserStateChecker();
            var user    = new User {
                Logable = true
            };

            Assert.False(checker.IsSecureLogable(user));
            user.PublicKey = "dada";
            Assert.True(checker.IsSecureLogable(user));
        }
Ejemplo n.º 4
0
        public void InvalidMasterState()
        {
            var us      = new UserService();
            var checker = new UserStateChecker {
                UserService = us
            };
            var user = new User {
                Logable = true, Active = true, Expire = DateTime.Now.AddDays(10), Domain = "m1"
            };

            Assert.AreEqual(UserActivityState.InvalidMaster, checker.GetActivityState(user));
        }
Ejemplo n.º 5
0
        public void LoggableTest()
        {
            var checker = new UserStateChecker();
            var user    = new User()
            {
                Logable = false
            };

            Assert.False(checker.IsLogable(user));
            user.Logable = true;
            Assert.True(checker.IsLogable(user));
            user.IsGroup = true;
            Assert.False(checker.IsLogable(user));
        }
Ejemplo n.º 6
0
        private Identity BuildIdentity(Token token)
        {
            var result = new Identity {
                Token              = token,
                Name               = token.User,
                IsAuthenticated    = true,
                AuthenticationType = "form",
                IsAdmin            = token.IsAdmin
            };
            var errormessage = "";
            var user         = UserService.GetUser(token.User);

            if (null != user)
            {
                result.User    = user;
                result.IsAdmin = user.IsAdmin;
                var userstate = UserStateChecker.GetActivityState(user);
                if (userstate != UserActivityState.Ok)
                {
                    result.IsError = true;
                    errormessage  += userstate.ToStr() + "; ";
                }
            }
            if (!string.IsNullOrWhiteSpace(token.ImUser))
            {
                var imtoken = new Token {
                    User = token.ImUser
                };
                var imidentity = BuildIdentity(imtoken);
                result.ImpersonationSource = imidentity;
                if (!imidentity.IsAuthenticated)
                {
                    result.IsError = true;
                    errormessage  += "not-auth impersonation; ";
                }
                else if (!imidentity.IsAdmin)
                {
                    result.IsError = true;
                    errormessage  += "non-admin impersonation;";
                }
            }
            if (result.IsError)
            {
                result.IsAuthenticated = false;
                result.Error           = new SecurityException(errormessage);
            }
            return(result);
        }
Ejemplo n.º 7
0
        public void MasterExpireState()
        {
            var us = new UserService();

            us.RegisterExtension(new UserSource(new User {
                Login = "******", IsGroup = true, Active = true, Expire = DateTime.Now.AddDays(-10)
            }));
            var checker = new UserStateChecker {
                UserService = us
            };
            var user = new User {
                Logable = true, Active = true, Expire = DateTime.Now.AddDays(10), Domain = "m1"
            };

            Assert.AreEqual(UserActivityState.MasterExpired, checker.GetActivityState(user));
        }
Ejemplo n.º 8
0
        public void PasswordLogable()
        {
            var checker = new UserStateChecker();
            var user    = new User {
                Logable = true
            };

            Assert.False(checker.IsPasswordLogable(user));
            user.Salt = "z";
            user.Hash = "d";
            Assert.True(checker.IsPasswordLogable(user));
            user.Salt = "";
            Assert.False(checker.IsPasswordLogable(user));
            user.Salt = "z";
            user.Hash = "";
            Assert.False(checker.IsPasswordLogable(user));
        }