繁体   English   中英

MVC 2 POST 后重定向到登录页面,我该如何解决?

[英]MVC 2 Redirecting to Login page after POST, How can I fix this?

我有一个基本的 controller 和一个带有 GET 和 POST 的创建操作。 GET 工作正常并呈现页面,但是,POST 总是将我重定向回登录页面并且我的数据没有保存。 我正在使用 forms 身份验证,但我还没有在我的任何 controller 操作上使用 [Authorize] 属性。 在我的机器上本地一切正常,但是当我发布到服务器时,这个错误开始发生。 这是我的创建方法的代码:

    [HttpGet]
    public ActionResult Create()
    {
        var employee = new EmployeeViewModel();
        return View(employee);
    }

    [HttpPost]
    public ActionResult Create(EmployeeViewModel viewModel)
    {
        var dataModel = viewModel.TransformToDataModel();
        allEmployees.Add(dataModel);
        ViewData["SuccessMessage"] = string.Format("{0} successfully added to the system", viewModel.Name);
        return View("Success");
    }

我正在使用默认的 AspNetSql Membership/RoleProvider/ProfileProvider 并使用 IIS 7.0 在 GoDaddy 上托管。 以下是我的 web.config 文件的主要部分:

<authentication mode="Forms">
       <forms 
        name="formCookie" protection="None" enableCrossAppRedirects="false" requireSSL="false"
       loginUrl="~/Account/LogOn" timeout="2880" defaultUrl="~/Home/Index" path="/" />
    </authentication>
    <authorization>
        <deny users="?"/>
        <allow users="*" />
    </authorization>
    <identity impersonate="true"/>

如果有人以前遇到过这个错误或知道发生了什么,这将有很大的帮助。 谢谢!

在 ASP.NET MVC 中,处理授权的首选方法是使用[Authorize]属性。 应该删除 web.config 中的<authorization>部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM