public HomeController(IAuthenticationService authenticationService,
            IAntiForgery antiForgery)
        {
            Condition.Requires(authenticationService).IsNotNull();
            Condition.Requires(antiForgery).IsNotNull();

            _authenticationService = authenticationService;
            _antiForgery = antiForgery;
        }
        public WorldDominationAuthenticationController(IAuthenticationService authenticationService,
                                                       IAntiForgery antiForgery = null)
        {
            if (authenticationService == null)
            {
                throw new ArgumentNullException("authenticationService");
            }

            AuthenticationService = authenticationService;
            AntiForgery = antiForgery;
        }
        public WorldDominationAuthenticationController(IAuthenticationService authenticationService,
                                                       IAuthenticationCallbackProvider callbackProvider,
                                                       IAntiForgery antiForgery = null)
        {
            if (authenticationService == null)
            {
                throw new ArgumentNullException("authenticationService");
            }

            if (callbackProvider == null)
            {
                throw new ArgumentNullException("callbackProvider");
            }

            AuthenticationService = authenticationService;
            CallbackProvider = callbackProvider;

            // If no anti forgery class is provided, then we'll just use the default.
            _antiForgery = antiForgery ?? new AspNetAntiForgery();
        }