public override void OnAuthorization(HttpActionContext actionContext) { string token = actionContext.Request.RequestUri.Segments[3].Split('/')[0]; string userid = actionContext.Request.RequestUri.Segments[2].Split('/')[0]; /*código abaixo cria uma session para armazenar o nome do usuário*/ int id = Convert.ToInt32(userid); usuario_token ut = db.usuario_token.Where( p => p.usuario_id_usuario.Equals(id)) .Where(x => x.token.Equals(token)).FirstOrDefault(); if (ut == null) { actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized); } else { if (ut != null) { Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(userid), null); } else { actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized); } } }
public ActionResult Create([Bind(Include = "id_usuario,login_usuario,senha")] usuario usuario) { if (ModelState.IsValid) { db.usuario.Add(usuario); db.SaveChanges(); usuario_token t = new usuario_token(); t.usuario_id_usuario = usuario.id_usuario; Random rnd = new Random(); t.num_acessos = 0; rnd.Next(100, 1000000); t.token = rnd.Next(100, 1000000).ToString(); db.usuario_token.Add(t); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(usuario)); }