Ejemplo n.º 1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpSessionStateBase session = filterContext.HttpContext.Session;

            if (filterContext.HttpContext.Request.Cookies["userId"] != null && filterContext.HttpContext.Request.Cookies["userId"].Value.ToString().Trim() != "")
            {
                session["userId"] = filterContext.HttpContext.Request.Cookies["userId"].Value;
            }

            if (session["userId"] == null || (filterContext.HttpContext.Request.Cookies["token"] == null || filterContext.HttpContext.Request.Cookies["token"].Value.ToString().Trim() == ""))
            {
                session.Remove("Menu");
                session.Remove("MyMenu");
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary
                {
                    { "Controller", "Login" },
                    { "Action", "Index" }
                });
            }
            else
            {
                if (session["Menu"] == null)
                {
                    var    restClientContainer = new RestClientContainer(ConfigurationManager.AppSettings["ApiUrl"]);
                    var    dataRet             = restClientContainer.SendRequest <ResponseResult>("Accounts/GetMenu", RestSharp.Method.GET).Result.Data;
                    string json   = JsonConvert.SerializeObject(dataRet);
                    var    result = Helper <List <MenuViewModel> > .Convert(json);

                    session["Menu"] = result;
                }
            }
        }
Ejemplo n.º 2
0
        public void Ctor_PassingName_SetsNameProperty()
        {
            const string name = "MyClient1";

            var restClientContainer = new RestClientContainer(new ServiceCollection().BuildServiceProvider(), name, "http://dalsoft.co.uk", null);

            Assert.That(restClientContainer.Name, Is.EqualTo(name));
        }
Ejemplo n.º 3
0
        public void Ctor_PassingCorrectParams_RestClientFuncUsesNamedHttpClientFromIHttpClientFactory()
        {
            const string name = "MyClient1";

            var mockServiceProvider   = new Mock <IServiceProvider>();
            var restClient            = new HttpClient();
            var mockHttpClientFactory = new Mock <IHttpClientFactory>();

            mockHttpClientFactory.Setup(provider => provider.CreateClient(name)).Returns(restClient);
            mockServiceProvider.Setup(provider => provider.GetService(typeof(IHttpClientFactory))).Returns(mockHttpClientFactory.Object);

            var restClientContainer = new RestClientContainer(mockServiceProvider.Object, name, "http://dalsoft.co.uk", null);

            var httpClientWrapper = (HttpClientWrapper)restClientContainer.RestClient().HttpClientWrapper;

            Assert.That(httpClientWrapper.HttpClient, Is.EqualTo(restClient));
        }
Ejemplo n.º 4
0
        public void Ctor_PassingDefaultHeaders_RestClientFuncUsesPassedDefaultHeaders()
        {
            const string clientName = "MyClient1";
            const string baseUri    = "http://dalsoft.co.uk";

            var mockServiceProvider   = new Mock <IServiceProvider>();
            var restClient            = new HttpClient();
            var mockHttpClientFactory = new Mock <IHttpClientFactory>();

            mockHttpClientFactory.Setup(provider => provider.CreateClient(clientName)).Returns(restClient);
            mockServiceProvider.Setup(provider => provider.GetService(typeof(IHttpClientFactory))).Returns(mockHttpClientFactory.Object);

            var restClientContainer = new RestClientContainer(mockServiceProvider.Object, clientName, baseUri, new Headers(new { name = clientName }));

            var restClientResult = restClientContainer.RestClient();

            Assert.That(restClientResult.DefaultRequestHeaders["name"], Is.EqualTo(clientName));
        }
Ejemplo n.º 5
0
        public void Ctor_PassingBaseUri_RestClientFuncUsesPassedBaseUri()
        {
            const string name    = "MyClient1";
            const string baseUri = "http://dalsoft.co.uk";

            var mockServiceProvider   = new Mock <IServiceProvider>();
            var restClient            = new HttpClient();
            var mockHttpClientFactory = new Mock <IHttpClientFactory>();

            mockHttpClientFactory.Setup(provider => provider.CreateClient(name)).Returns(restClient);
            mockServiceProvider.Setup(provider => provider.GetService(typeof(IHttpClientFactory))).Returns(mockHttpClientFactory.Object);

            var restClientContainer = new RestClientContainer(mockServiceProvider.Object, name, baseUri, null);

            var restClientResult = restClientContainer.RestClient();

            Assert.That(restClientResult.BaseUri, Is.EqualTo(baseUri));
        }
Ejemplo n.º 6
0
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            HttpSessionStateBase session = filterContext.HttpContext.Session;

            if (filterContext.HttpContext.Request.Cookies["userId"] != null && filterContext.HttpContext.Request.Cookies["userId"].Value.ToString().Trim() != "")
            {
                session["userId"] = filterContext.HttpContext.Request.Cookies["userId"].Value;
            }

            if (session["userId"] == null || (filterContext.HttpContext.Request.Cookies["token"] == null || filterContext.HttpContext.Request.Cookies["token"].Value.ToString().Trim() == ""))
            {
                session.Remove("Menu");
                session.Remove("MyMenu");
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Login", action = "Index" }));
                return;
            }
            var    language       = filterContext.HttpContext.Request.Cookies["Lang"] == null ? "en-US" : filterContext.HttpContext.Request.Cookies["Lang"].Value.ToString();
            string actionName     = filterContext.ActionDescriptor.ActionName;
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;

            if (actionName.ToLower() == "Index".ToLower() && controllerName.ToLower() == "Home".ToLower())
            {
                session["PageName"] = language == "ar-EG"?"الشاشة الرئيسية":"Main Page";
                return;
            }
            var    querystring = filterContext.RequestContext.HttpContext.Request.QueryString;
            string parameter   = querystring["ScreenType"] == null ? null : Decoder.Decode(querystring["ScreenType"]);
            //IRestfulApi<List<bool>, List<bool>> res = new RestfulApi<List<bool>, List<bool>>(ConfigurationManager.AppSettings["ApiUrl"]);
            var restClientContainer = new RestClientContainer(ConfigurationManager.AppSettings["ApiUrl"]);

            //var menu = res.GetAsyncByGetVerb($"Role/CanShowPage/{language}/{controllerName}/{actionName}/{parameter}", null, filterContext.HttpContext.Request.Cookies["token"].Value.ToString()).Result;
            //if (menu != null ) session["PageName"] = menu;
            //if (menu == null )
            //{
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "UnAuthorize", action = "Index" }));
            // }
        }
Ejemplo n.º 7
0
 public SecurityController()
 {
     restClientContainer = new RestClientContainer(ConfigurationManager.AppSettings["ApiUrl"]);
 }