示例#1
0
        public Db.Models.User Register()
        {
            var noAuth = System.Environment.GetEnvironmentVariable("NOAUTH");

            if (noAuth == "True")
            {
                return(_db.User.Where(u => u.UserId == 1).FirstOrDefault());
            }
            if (!_httpContext.HttpContext.User.Identity.IsAuthenticated)
            {
                throw new AuthenticationException("User not authenticated");
            }

            if (_user != null)
            {
                return(_user);
            }

            var userId = _httpContext.HttpContext.User.Identity;

            if (userId is WindowsIdentity)
            {
                _user = RegisterActiveDirectory((WindowsIdentity)userId);
            }
            else if (userId.AuthenticationType == "AuthenticationTypes.Federation")
            {
                _user = RegisterAzureActiveDirectory((ClaimsIdentity)userId);
            }
            else
            {
                Log.Error("Unknown user type");
                throw new Exception("Unknown user type");
            }
            return(_user);
        }
示例#2
0
        private Db.Models.User NewUser(short authType)
        {
            var newUser = new Db.Models.User();

            newUser.AuthenticationId = authType;
            _db.Add(newUser);
            _db.SaveChanges();
            return(newUser);
        }
示例#3
0
        public Db.Models.User Register()
        {
            if (!_httpContext.HttpContext.User.Identity.IsAuthenticated)
            {
                throw new AuthenticationException("User not authenticated");
            }

            if (_user != null)
            {
                return(_user);
            }

            var userId = _httpContext.HttpContext.User.Identity;

            if (userId is WindowsIdentity)
            {
                _user = RegisterActiveDirectory((WindowsIdentity)userId);
            }
            return(_user);
        }