C# 我可以向几个ASP.NET MVC路由添加简单身份验证,而无需实现整个成员资格提供程序jazz,这是一种什么样的快速方法?

C# 我可以向几个ASP.NET MVC路由添加简单身份验证,而无需实现整个成员资格提供程序jazz,这是一种什么样的快速方法?,c#,asp.net-mvc,C#,Asp.net Mvc,我已经为我的老板创建了一个演示网站,其中一个要求是我需要为他的3个管理员视图/路由添加一些简单的身份验证 在不实现整个成员资格提供程序的情况下,最简单、最快捷的方法是什么?老实说,我甚至不在乎用户/通行证是否在服务器端硬编码,我只需要它,以便他们在未通过某种方式验证的情况下无法访问这3个视图。最简单的方法是在Visual Studio中选择菜单[project],然后选择[ASP.NET Configuration] 它会为你建立一个会员数据库。然后在弹出的configuration manag

我已经为我的老板创建了一个演示网站,其中一个要求是我需要为他的3个管理员视图/路由添加一些简单的身份验证


在不实现整个成员资格提供程序的情况下,最简单、最快捷的方法是什么?老实说,我甚至不在乎用户/通行证是否在服务器端硬编码,我只需要它,以便他们在未通过某种方式验证的情况下无法访问这3个视图。

最简单的方法是在Visual Studio中选择菜单[project],然后选择[ASP.NET Configuration]

它会为你建立一个会员数据库。然后在弹出的configuration manager中添加几个角色和用户

就这样!然后简单地用[authorize]修饰您的操作/控制器,并根据用户名检查一些权限 我会走这条路

将其添加到web.config(如果需要,可以省略SHA1并使用纯文本密码):

FormsAuthentication.Authenticate()会根据我们先前创建的凭据节点自动检查用户名和密码。如果匹配,它将创建“记住我”值为false的身份验证cookie,并将您重定向到主控制器的索引视图。如果不匹配,则返回登录页面,并将ViewData[“LastLoginFailed”]设置为true,以便您可以在视图中处理该问题

PS-现在你有了一个简单的授权方法,别忘了将[Authorize]过滤器置于你想要保护的操作或控制器之上

<authentication mode="Forms">
  <forms loginUrl="~/admin" timeout="2880">
      <credentials passwordFormat="SHA1">
        <user name="admin" password="4f3fc98f8d95160377022c5011d781b9188c7d46"/>
      </credentials>
  </forms>
</authentication>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(string username, string password)
{
    if (FormsAuthentication.Authenticate(username, password))
    {
        FormsAuthentication.SetAuthCookie(username, false);
        return RedirectToAction("Index", "Home");
    }
    else
    {
        ViewData["LastLoginFailed"] = true;
        return View();
    }
}