在asp.net mvc5中使用自定义登录进行表单身份验证

时间:2016-05-24 09:44:08

标签: c# asp.net-mvc asp.net-mvc-4 razor authorize-attribute

我创建了一个带有MVC模板的Web应用程序。我创建了一个自定义视图-Login.cshtml。

Login.cshtml (查看)

       @using(Html.BeginForm())
      {
        <div id="Email">
            @Html.Label("UserName")
            @Html.TextBox("user")
        </div>
        <div id="Password">
            @Html.Label("Password")
            @Html.TextBox("password")
        </div>
        <input id="LoginBtn" type="submit" value="Login" />
      }

在我的控制器方法中,如果我使用[authorize]属性,默认情况下会将我带到/ Accounts / Login,这在模板中已经可用。

myController的(控制器)

    [Authorize]
    public ActionResult Start()
    {
       return View();
    }

我需要身份验证视图为Login.cshtml。所以,我尝试在配置文件(web.config)中添加表单身份验证

的Web.Config

<authentication mode="Forms">
  <forms name="xyz" loginUrl="http://localhost:2680/My/Login">
    <credentials>
      <user name="abc" password="pass123" />
    </credentials> 
  </forms>
</authentication>

即使添加了它,也会运行Accounts / Login而不是My / login。

所以我的问题是当我们在控制器方法中指定[authorize]属性时如何使用自定义视图进行登录?

1 个答案:

答案 0 :(得分:4)

尝试更改&#34; App_Start / Startup.Auth.cs&#34;

中的 LoginPath 属性