FormsAuthentication 重定向到登录页面
FormsAuthentication redirecting to login page
我正在尝试在 ASP.NET
MVC5 应用程序中实现 Simple FormsAuthentication
作为:
控制器
public ViewResult login()
{
return View();
}
[HttpPost]
public ViewResult login(Login login)
{
if (ModelState.IsValid)
{
if (FormsAuthentication.Authenticate(login.username, login.password))
{
FormsAuthentication.RedirectFromLoginPage(login.username, false);
}
else
{
Response.Write("Invalid username or password. Try again");
return View();
}
}
return View("Index");
}
Web.Config
<appSettings>
<add key="owin:AutomaticAppStartup" value="false"/>
</appSettings>
<system.web>
<authentication mode="Forms">
<forms
name="PC"
loginUrl="~/Home/login"
timeout="2">
<credentials>
<user name="admin" password="admin1"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
现在,当我提供 Web.Config
文件中提到的正确凭据时,PostHttp login ViewResult
的 Else
语句部分的错误消息会执行并写入消息
Invalid username or password. Try again
并再次重定向到登录页面。 URL 在浏览器中显示为:
http://payroll.net:81/Home/login?ReturnUrl=%2f
知道为什么 FormsAuthentication 在收到正确的凭据后没有重定向到 "Index" 查看吗?
您提供的是未经哈希处理的密码,默认哈希算法是 Sha1 尝试对您的密码进行哈希处理并放入哈希字符串。
另外,如果你不想使用加密,你可以用 :
声明
<credentials passwordFormat = "Clear">
<user name="UserName"
password="SimplePass"/>
</credentials>
我正在尝试在 ASP.NET
MVC5 应用程序中实现 Simple FormsAuthentication
作为:
控制器
public ViewResult login()
{
return View();
}
[HttpPost]
public ViewResult login(Login login)
{
if (ModelState.IsValid)
{
if (FormsAuthentication.Authenticate(login.username, login.password))
{
FormsAuthentication.RedirectFromLoginPage(login.username, false);
}
else
{
Response.Write("Invalid username or password. Try again");
return View();
}
}
return View("Index");
}
Web.Config
<appSettings>
<add key="owin:AutomaticAppStartup" value="false"/>
</appSettings>
<system.web>
<authentication mode="Forms">
<forms
name="PC"
loginUrl="~/Home/login"
timeout="2">
<credentials>
<user name="admin" password="admin1"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
现在,当我提供 Web.Config
文件中提到的正确凭据时,PostHttp login ViewResult
的 Else
语句部分的错误消息会执行并写入消息
Invalid username or password. Try again
并再次重定向到登录页面。 URL 在浏览器中显示为:
http://payroll.net:81/Home/login?ReturnUrl=%2f
知道为什么 FormsAuthentication 在收到正确的凭据后没有重定向到 "Index" 查看吗?
您提供的是未经哈希处理的密码,默认哈希算法是 Sha1 尝试对您的密码进行哈希处理并放入哈希字符串。 另外,如果你不想使用加密,你可以用 :
声明 <credentials passwordFormat = "Clear">
<user name="UserName"
password="SimplePass"/>
</credentials>