当我尝试进入我的系统时出现此错误。
提供的防伪令牌适用于用户" Braian",但当前用户是""。
我的控制器:
// GET: Account
[AllowAnonymous]
public ActionResult Login(/*string? returnURL*/)
{
System.Web.Security.FormsAuthentication.SignOut();
ModelState.Clear();
/*Recebe a url que o usuário tentou acessar*/
//ViewBag.ReturnUrl = returnURL;
return View(new TB_USUARIO());
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(TB_USUARIO login, string returnUrl)
{
System.Web.Security.FormsAuthentication.SignOut();
ModelState.Clear();
if (ModelState.IsValid)
{
using (DB_DAGUILAREntities db = new DB_DAGUILAREntities())
{
var vLogin = db.TB_USUARIO.Where(p => p.USU_ST_LOGIN.Equals(login.USU_ST_LOGIN)).FirstOrDefault();
/*Verificar se a variavel vLogin está vazia. Isso pode ocorrer caso o usuário não existe.
Caso não exista ele vai cair na condição else.*/
if (vLogin != null)
{
/*Código abaixo verifica se o usuário que retornou na variavel tem está
ativo. Caso não esteja cai direto no else*/
if (Equals(vLogin.USU_CH_ATIVO, "A"))
{
/*Código abaixo verifica se a senha digitada no site é igual a senha que está sendo retornada
do banco. Caso não cai direto no else*/
if (Equals(vLogin.USU_ST_SENHA.Trim(), login.USU_ST_SENHA))
{
FormsAuthentication.SetAuthCookie(vLogin.USU_ST_LOGIN, false);
if (Url.IsLocalUrl(returnUrl)
&& returnUrl.Length > 1
&& returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//")
&& returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
/*código abaixo cria uma session para armazenar o nome do usuário*/
Session["Nome"] = vLogin.USU_ST_NOME;
Session["Codigo"] = vLogin.USU_IN_CODIGO;
/*código abaixo cria uma session para armazenar o sobrenome do usuário*/
Session["Sobrenome"] = vLogin.USU_ST_LAST_NAME;
Session["Cargo"] = vLogin.USU_ST_CARGO;
Session["Especialidade"] = vLogin.USU_ST_ESPEC;
Session["Foto"] = vLogin.USU_ST_FOTO;
/*retorna para a tela inicial do Home*/
return RedirectToAction("Index", "Ticket");
}
/*Else responsável da validação da senha*/
else
{
/*Escreve na tela a mensagem de erro informada*/
ModelState.AddModelError("", "Senha informada Inválida!!!");
/*Retorna a tela de login*/
return View(new TB_USUARIO());
}
}
/*Else responsável por verificar se o usuário está ativo*/
else
{
/*Escreve na tela a mensagem de erro informada*/
ModelState.AddModelError("", "Usuário sem acesso para usar o sistema!!!");
/*Retorna a tela de login*/
return View(new TB_USUARIO());
}
}
/*Else responsável por verificar se o usuário existe*/
else
{
/*Escreve na tela a mensagem de erro informada*/
ModelState.AddModelError("", "E-mail informado inválido!!!");
/*Retorna a tela de login*/
return View(new TB_USUARIO());
}
}
}
/*Caso os campos não esteja de acordo com a solicitação retorna a tela de login com as mensagem dos campos*/
return View(login);
}
和我的观点:
@model WebApplication3.Models.TB_USUARIO
@{
Layout = null;
}
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<script src="~/scripts/jquery-1.10.2.js"></script>
<script src="~/scripts/bootstrap.min.js"></script>
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal" }))
{
@Html.AntiForgeryToken();
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="container">
<div class="form-login">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">Login do Sistema</div>
</div>
<div style="padding-top:30px" class="panel-body">
<div style="display:none" id="result" class="alert alert-danger col-sm-12">
</div>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
@Html.EditorFor(model => model.USU_ST_LOGIN, new { htmlAttributes = new { @class = "form-control input-lg", placeholder = "E-mail", autofocus = true } })
@Html.ValidationMessageFor(model => model.USU_ST_LOGIN, "", new { @class = "text-danger" })
</div>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
@Html.EditorFor(model => model.USU_ST_SENHA, new { htmlAttributes = new { @class = "form-control input-lg", placeholder = "Senha" } })
@Html.ValidationMessageFor(model => model.USU_ST_SENHA, "", new { @class = "text-danger" })
</div>
<div style="margin-top:10px" class="form-group">
<div class="col-sm-12 controls">
<input type="submit" value="Acessar" class="btn primary btn-lg" />
</div>
</div>
</div>
</div>
</div>
</div>
}
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
问题发生在:
有人可以帮忙吗?