Asp.net mvc 4 用户可以成功登录,但登录页面将显示,而不是重定向
我已经将一个项目从asp.NETMVC2转移到asp.NET4,经过一点修复,一切似乎都正常 应用程序中需要授权的部分除外。如果没有授权,可以查看未授权页面,但只要您尝试登录,一切都会进行 香蕉当您登录时,您将被登录(您可以在部分登录中看到您的姓名),但未被重定向并提示您再次登录,并且您无法访问部分页面 适用于非授权用户的应用程序。一切都可以在本地主机上运行,但不能在部署的站点上运行Asp.net mvc 4 用户可以成功登录,但登录页面将显示,而不是重定向,asp.net-mvc-4,authorization,Asp.net Mvc 4,Authorization,我已经将一个项目从asp.NETMVC2转移到asp.NET4,经过一点修复,一切似乎都正常 应用程序中需要授权的部分除外。如果没有授权,可以查看未授权页面,但只要您尝试登录,一切都会进行 香蕉当您登录时,您将被登录(您可以在部分登录中看到您的姓名),但未被重定向并提示您再次登录,并且您无法访问部分页面 适用于非授权用户的应用程序。一切都可以在本地主机上运行,但不能在部署的站点上运行 起初我认为我的machinekey和应用程序池刷新有问题,所以我添加了一个。还是一样的问题 我知道MVC使用
- 起初我认为我的machinekey和应用程序池刷新有问题,所以我添加了一个。还是一样的问题
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, true);
FormsAuthentication.SetAuthCookie(model.UserName, true);
var role = userRepo.usersInRoles.First(x => x.userMail == model.UserName);
if (role.roleName == "Business")
return RedirectToAction("Start", "Business");
if (role.roleName == "Admin")
return RedirectToAction("Index", "Admin");
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
return View(model);
}
成员身份和角色的配置设置
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership defaultProvider="AccountMembershipProvider">
<providers>
<clear />
<add name="AccountMembershipProvider" type="MyApp.UI.Infrastructure.AccountMembershipProvider" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="RoleMembershipProvider">
<providers>
<clear />
<add name="RoleMembershipProvider" type="MyApp.UI.Infrastructure.RoleMembershipProvider" />