예제 #1
0
        public static string GenerateToken(string username, string company = "01", int expireMinutes = 20)
        {
            var symmetricKey = Convert.FromBase64String(Secret);
            var tokenHandler = new JwtSecurityTokenHandler();

            var now     = DateTime.UtcNow;
            var context = new ContextoSeguridad();

            context.Company    = "20";
            context.Expiration = DateTime.Now;
            context.groups     = "A,B,C";
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, username),
                    new Claim(ClaimTypes.UserData, JsonConvert.SerializeObject(context))
                }),

                Expires = now.AddMinutes(Convert.ToInt32(expireMinutes)),

                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
            var token  = tokenHandler.WriteToken(stoken);

            return(token);
        }
예제 #2
0
        public UnidadDeTrabajo( )
        {
            var options = new DbContextOptionsBuilder <ContextoSeguridad>()
                          .UseSqlServer(@"Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=SIG_SecurityDB;Integrated Security=True;Connect Timeout=30;Encrypt=False;MultiSubnetFailover=False")
                          //.UseInMemoryDatabase(databaseName: "SecurityDB")
                          .Options;

            _contexto = new ContextoSeguridad(options);
        }
예제 #3
0
 public UsuarioRepositorio(ContextoSeguridad contexto)
     : base(contexto)
 {
     this._contexto = contexto;
 }
예제 #4
0
 public UnidadDeTrabajoSeguridad(ContextoSeguridad contexto)
 {
     _contexto = contexto;
 }