Ejemplo n.º 1
0
        public void ClearSecure_ClearHttpResultWithDifferentProperties_HttpResultCleared()
        {
            // arrange
            var url          = "http://test.com/users/max/info?pass=123456";
            var requestBody  = "http://test.com?user=max&pass=123456";
            var responseBody = "http://test.com?user=max&pass=123456";

            var expectedUrlResult    = "http://test.com/users/XXX/info?pass=XXXXXX";
            var expectedRequestBody  = "http://test.com?user=XXX&pass=XXXXXX";
            var expectedResponseBody = "http://test.com?user=XXX&pass=XXXXXX";

            var secureKey1 = "user";
            var locations1 = new HashSet <SecureLocationType>()
            {
                SecureLocationType.Query
            };
            var properties1 = new HashSet <SecurePropertyType>()
            {
                SecurePropertyType.RequestBody, SecurePropertyType.ResponseBody
            };
            var secureSettings1 = new SecureSettings(secureKey1, locations1, properties1);

            var secureKey2 = "pass";
            var locations2 = new HashSet <SecureLocationType>()
            {
                SecureLocationType.Query
            };
            var properties2 = new HashSet <SecurePropertyType>()
            {
                SecurePropertyType.Url, SecurePropertyType.RequestBody, SecurePropertyType.ResponseBody
            };
            var secureSettings2 = new SecureSettings(secureKey2, locations2, properties2);

            var secureKey3 = "users";
            var locations3 = new HashSet <SecureLocationType>()
            {
                SecureLocationType.Rest
            };
            var properties3 = new HashSet <SecurePropertyType>()
            {
                SecurePropertyType.Url
            };
            var secureSettings3 = new SecureSettings(secureKey3, locations3, properties3);

            var urlCleaner = new SecureCleaner(new List <SecureSettings> {
                secureSettings1, secureSettings2, secureSettings3
            });
            var httpResult = new HttpResult(url, requestBody, responseBody);

            // act
            var cleanedHttpResult = urlCleaner.CleanHttpResult(httpResult);

            // assert
            Assert.Equal(expectedUrlResult, cleanedHttpResult.Url);
            Assert.Equal(expectedRequestBody, cleanedHttpResult.RequestBody);
            Assert.Equal(expectedResponseBody, cleanedHttpResult.ResponseBody);
        }
Ejemplo n.º 2
0
        public RntAppUserController(UserManager <RntAppUser> userManager,
                                    SignInManager <RntAppUser> signInManager,
                                    IOptions <SecureSettings> appSettings)
        {
            _userManager   = userManager;
            _signInManager = signInManager;
            _appSettings   = appSettings.Value;

            DependencyInjector.UpdateInterfaceModeDependencies(true);
            LogInService = DependencyInjector.Resolve <ILogInService>();
        }
Ejemplo n.º 3
0
        public void Dispose()
        {
            SecureSettings.Dispose();

            RoamingSettings.Dispose();
            AppUserSettings.Dispose();
            AppSettings.Dispose();
            FileSettings.Dispose();

            EnvVarsSettings.Dispose();
            RegistrySettings.Dispose();
            AppConfigSettings.Dispose();
            AppSwitchSettings.Dispose();
            CliSettings.Dispose();
        }
Ejemplo n.º 4
0
        public void ClearSecure_ClearSecureInXml_SecureInXmlCleared()
        {
            // arrange
            var secureKey1 = "users";
            var secureKey2 = "pass";
            var locations  = new HashSet <SecureLocationType>()
            {
                SecureLocationType.Rest, SecureLocationType.Query
            };

            var properties = new HashSet <SecurePropertyType>()
            {
                SecurePropertyType.RequestBody
            };
            var secureSettings1 = new SecureSettings(secureKey1, locations, properties);
            var secureSettings2 = new SecureSettings(secureKey2, locations, properties);

            var requestBody =
                "<?xml version=\"1.0\"?>" +
                "<PurchaseOrder PurchaseOrderNumber=\"99503\" OrderDate=\"1999-10-20\">" +
                "<Address Type=\"Shipping\">" +
                "<Name>Ellen Adams</Name>" +
                "<Street>123 Maple Street</Street>" +
                "<City>Mill Valley</City>" +
                "<State>CA</State>" +
                "<Zip>10999</Zip>" +
                "<Country>USA</Country>" +
                "</Address>" +
                "<Address Type=\"Billing\">" +
                "<Name>Tai Yee</Name>" +
                "<Street>8 Oak Avenue</Street>" +
                "<City>Old Town</City>" +
                "<State>PA</State>" +
                "<Zip>95819</Zip>" +
                "<Country>USA</Country>" +
                "</Address>" +
                "<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>" +
                "<Items>" +
                "<Item PartNumber=\"872-AA\">" +
                "<ProductName>Lawnmower</ProductName>" +
                "<Quantity>1</Quantity>" +
                "<USPrice>148.95</USPrice>" +
                "<Comment>Confirm this is electric</Comment>" +
                "</Item>" +
                "<Item PartNumber=\"926-AA\">" +
                "<ProductName>http://test.com/users/max/info?pass=123456</ProductName>" +
                "<Quantity>2</Quantity>" +
                "<USPrice>39.98</USPrice>" +
                "<ShipDate>1999-05-21</ShipDate>" +
                "</Item>" +
                "</Items>" +
                "</PurchaseOrder>";

            var expectedResult =
                "<?xml version=\"1.0\"?>" +
                "<PurchaseOrder PurchaseOrderNumber=\"99503\" OrderDate=\"1999-10-20\">" +
                "<Address Type=\"Shipping\">" +
                "<Name>Ellen Adams</Name>" +
                "<Street>123 Maple Street</Street>" +
                "<City>Mill Valley</City>" +
                "<State>CA</State>" +
                "<Zip>10999</Zip>" +
                "<Country>USA</Country>" +
                "</Address>" +
                "<Address Type=\"Billing\">" +
                "<Name>Tai Yee</Name>" +
                "<Street>8 Oak Avenue</Street>" +
                "<City>Old Town</City>" +
                "<State>PA</State>" +
                "<Zip>95819</Zip>" +
                "<Country>USA</Country>" +
                "</Address>" +
                "<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>" +
                "<Items>" +
                "<Item PartNumber=\"872-AA\">" +
                "<ProductName>Lawnmower</ProductName>" +
                "<Quantity>1</Quantity>" +
                "<USPrice>148.95</USPrice>" +
                "<Comment>Confirm this is electric</Comment>" +
                "</Item>" +
                "<Item PartNumber=\"926-AA\">" +
                "<ProductName>http://test.com/users/XXX/info?pass=XXXXXX</ProductName>" +
                "<Quantity>2</Quantity>" +
                "<USPrice>39.98</USPrice>" +
                "<ShipDate>1999-05-21</ShipDate>" +
                "</Item>" +
                "</Items>" +
                "</PurchaseOrder>";

            var urlCleaner = new SecureCleaner(new List <SecureSettings> {
                secureSettings1, secureSettings2
            });
            var httpResult = new HttpResult("", requestBody, "");

            // act
            var cleanedHttpResult = urlCleaner.CleanHttpResult(httpResult);

            // assert
            Assert.Equal(expectedResult, cleanedHttpResult.RequestBody);
        }
Ejemplo n.º 5
0
        public void ClearSecure_ClearSecureInJson_SecureInJsonCleared()
        {
            // arrange
            var secureKey1 = "users";
            var secureKey2 = "pass";
            var locations  = new HashSet <SecureLocationType>()
            {
                SecureLocationType.Rest, SecureLocationType.Query
            };

            var properties = new HashSet <SecurePropertyType>()
            {
                SecurePropertyType.RequestBody
            };
            var secureSettings1 = new SecureSettings(secureKey1, locations, properties);
            var secureSettings2 = new SecureSettings(secureKey2, locations, properties);

            var requestBody =
                "{" +
                "\"glossary\": {" +
                "\"title\": \"example glossary\"," +
                "\"GlossDiv\": {" +
                "\"title\": \"S\"," +
                "\"GlossList\": {" +
                "\"GlossEntry\": {" +
                "\"ID\": \"SGML\"," +
                "\"SortAs\": \"SGML\"," +
                "\"GlossTerm\": \"Standard Generalized Markup Language\"," +
                "\"Acronym\": \"SGML\"," +
                "\"Abbrev\": \"ISO 8879:1986\"," +
                "\"GlossDef\": {" +
                "\"para\": \"A meta-markup language, used to create markup languages such as DocBook.\"," +
                "\"Requests\": [\"http://test.com/users/max/info?pass=123456\", \"http://test.com/users/max/info?pass=123456\"]" +
                "}," +
                "\"GlossSee\": \"markup\"" +
                "}" +
                "}" +
                "}" +
                "}" +
                "}";

            var expectedResult =
                "{" +
                "\"glossary\": {" +
                "\"title\": \"example glossary\"," +
                "\"GlossDiv\": {" +
                "\"title\": \"S\"," +
                "\"GlossList\": {" +
                "\"GlossEntry\": {" +
                "\"ID\": \"SGML\"," +
                "\"SortAs\": \"SGML\"," +
                "\"GlossTerm\": \"Standard Generalized Markup Language\"," +
                "\"Acronym\": \"SGML\"," +
                "\"Abbrev\": \"ISO 8879:1986\"," +
                "\"GlossDef\": {" +
                "\"para\": \"A meta-markup language, used to create markup languages such as DocBook.\"," +
                "\"Requests\": [\"http://test.com/users/XXX/info?pass=XXXXXX\", \"http://test.com/users/XXX/info?pass=XXXXXX\"]" +
                "}," +
                "\"GlossSee\": \"markup\"" +
                "}" +
                "}" +
                "}" +
                "}" +
                "}";

            var urlCleaner = new SecureCleaner(new List <SecureSettings> {
                secureSettings1, secureSettings2
            });
            var httpResult = new HttpResult("", requestBody, "");

            // act
            var cleanedHttpResult = urlCleaner.CleanHttpResult(httpResult);

            // assert
            Assert.Equal(expectedResult, cleanedHttpResult.RequestBody);
        }
Ejemplo n.º 6
0
 public UserService(IOptions <SecureSettings> secureSettings, AppDbContext dbContext)
 {
     this.secureSettings = secureSettings.Value;
     this.dbContext      = dbContext;
 }
Ejemplo n.º 7
0
 public AppService(ILogger <AppService> logger, IOptions <SecureSettings> secureSettings)
 {
     _logger         = logger;
     _secureSettings = secureSettings.Value;
 }