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); }
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); }
public UsuarioRepositorio(ContextoSeguridad contexto) : base(contexto) { this._contexto = contexto; }
public UnidadDeTrabajoSeguridad(ContextoSeguridad contexto) { _contexto = contexto; }