Buscar contenidos

jueves, 30 de agosto de 2018

Exclude JavaScript libraries from Sonar

https://stackoverflow.com/questions/12221770/exclude-javascript-libraries-from-sonar
https://stackoverflow.com/questions/25112543/sonarqube-4-3-2-javascript-exclude
In your sonar-project.properties, you have two ways to ignore files:
  • sonar.exclusions=the/full/path/*.xml will ignore all .xml files in path.
  • sonar.exclusions=**/*.xml will ignore all .xml files in the folder and sub-folders where you are.
Here are the different wildcards:
*    zero or more characters
**   zero or more directories
?    a single character
You can find more information on Sonar Documentation


martes, 21 de agosto de 2018

Análisis estático con Sonar Lint y servidor Sonar en Azure con imagen Docker


Video: https://www.youtube.com/watch?v=AJRWJmQV2k0

Paso#1 SonarScanner.MSBuild.exe begin /k:"NombreProyecto"
Paso#2 MSBuild.exe /t:Rebuild
Paso#3 SonarScanner.MSBuild.exe end


jueves, 16 de agosto de 2018

Configurar Redis Cache

1. Nuget 
 Microsoft.Web.RedisSessionStateProvider

2.Ejemplo ConnectionString

 <sessionState timeout="20" mode="Custom" customProvider="RedisSessionProvider">
      <providers>
        <add name="RedisSessionProvider" type="Microsoft.Web.Redis.RedisSessionStateProvider" port="6379" applicationName="RapiWeb" host="10.2.192.23" accessKey="xxxxxxxx" connectionTimeoutInMilliseconds="100000" operationTimeoutInMilliseconds="100000" retryTimeoutInMilliseconds="100000" syncTimeout="100000" ssl="false" />
      </providers>
    </sessionState>

3. Configuration GitHub Link


lunes, 13 de agosto de 2018

.NET Full Framework BasicAuthentication



    public class BasicAuthenticationAttribute : AuthorizationFilterAttribute
    {
        public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized);
            }
            else
            {
                // Gets header parameters 
                string authenticationString = actionContext.Request.Headers.Authorization.Parameter;
                string originalString = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationString));

                // Gets username and password 
                string useranme = originalString.Split(':')[0];
                string password = originalString.Split(':')[1];

                // Validate username and password 
                if (!(useranme.Equals(System.Configuration.ConfigurationManager.AppSettings["Authorization_username"].Trim()) &&
                    password.Equals(System.Configuration.ConfigurationManager.AppSettings["Authorization_password"].Trim())))
                {
                    // returns unauthorized error 
                    actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized);
                }
            }

            base.OnAuthorization(actionContext);
        }

    }


[BasicAuthentication]
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }