如何在ASP.NET MVC中创建自己的登录应用程序

时间:2011-11-22 13:58:58

标签: asp.net-mvc visual-studio-2008

我按照这个tutorial使用ASP.NET MVC

创建了一个示例登录应用程序

我已经创建了数据库并将其添加到本教程中提到的服务器资源管理器中。我还修改了AccountController.cs文件并添加了以下代码而不是默认的Logon方法。

public ActionResult Login(string username, string password, bool? rememberMe)
    {
        ViewData["Title"] = "Login";
        if (Request.HttpMethod != "POST")
        {
            return View();
        }
        // Basic parameter validation
        List<string> errors = new List<string>();
        if (String.IsNullOrEmpty(username))
        {
            errors.Add("You must specify a username.");
        }

        if (errors.Count == 0)
        {

            LinkMVC.Models.LinkManagerDataContext lm = new LinkMVC.Models.LinkManagerDataContext();
            Nullable<int> userid = null;
            lm.fm_AuthenticateUser(username, password, ref userid);

            if (userid > 0)
            {

                FormsAuth.SetAuthCookie(username, rememberMe ?? false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                errors.Add("The username or password provided is incorrect.");
            }
        }


        // If we got this far, something failed, redisplay form
        ViewData["errors"] = errors;
        ViewData["username"] = username;
        return View();
    }

我无法解决两个错误:

  

LinkMVC.Models.LinkManagerDataContext lm = new LinkMVC.Models.LinkManagerDataContext();

它表示名称空间“模型”的类型在名称空间LinkMVC

中不存在
  

FormsAuth.SetAuthCookie(用户名,rememberMe ?? false);

这里没有说明setAuthCookie的扩展方法

有人可以告诉我这里错过了什么吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我认为该类应该是FormsAuthentication而不是FormsAuth。

示例来自2008,并且正在使用ASP.NET MVC预览4,因此类名可能已更改。