ASP.NET MVC - 自定义身份验证不起作用
ASP.NET MVC - Custom authentication doen't work
我创建了一个简单的身份验证表单来使用 FormsAuthentication
对用户进行身份验证。
我是这样使用的
public ActionResult LoginUser(Login login)
{
//var encodedPassword = HashPassword.Decode(login.Password);
var encodedPassword = login.Password;
var loginData = context.Accounts.Where(p => p.Username == login.Username && p.Password == encodedPassword).SingleOrDefault();
if (loginData != null)
{
FormsAuthentication.SetAuthCookie(login.Username, false);
return RedirectToAction("Index", "Home");
}
else
{
TempData["errMess"] = "Invalid credential";
return RedirectToAction("Login");
}
}
现在我有一个代码可以在 _layout.cshtml
中获取登录用户名
<div class="profile_info">
<span>
Welcome,
@if (Request.IsAuthenticated)
{
@Html.Encode(User.Identity.Name)
}else {
<strong>Hello worlds</strong>
}
</span>
</div>
但这并不能解决我的问题
我做错了什么或者我错过了什么请帮助我我是 dot net
的新手
谢谢!
你添加了吗
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
在 web.config
的 <system.web>
部分内
我创建了一个简单的身份验证表单来使用 FormsAuthentication
对用户进行身份验证。
我是这样使用的
public ActionResult LoginUser(Login login)
{
//var encodedPassword = HashPassword.Decode(login.Password);
var encodedPassword = login.Password;
var loginData = context.Accounts.Where(p => p.Username == login.Username && p.Password == encodedPassword).SingleOrDefault();
if (loginData != null)
{
FormsAuthentication.SetAuthCookie(login.Username, false);
return RedirectToAction("Index", "Home");
}
else
{
TempData["errMess"] = "Invalid credential";
return RedirectToAction("Login");
}
}
现在我有一个代码可以在 _layout.cshtml
中获取登录用户名<div class="profile_info">
<span>
Welcome,
@if (Request.IsAuthenticated)
{
@Html.Encode(User.Identity.Name)
}else {
<strong>Hello worlds</strong>
}
</span>
</div>
但这并不能解决我的问题
我做错了什么或者我错过了什么请帮助我我是 dot net
的新手
谢谢!
你添加了吗
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
在 web.config
<system.web>
部分内