Asp.net 如何在MVC中为注册用户创建管理模块?

Asp.net 如何在MVC中为注册用户创建管理模块?,asp.net,asp.net-mvc,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我正在开发一个MVC webapp,并且已经完成了使用SQL成员表的注册模块 现在,我已经编写了代码,当用户被创建并获得批准时,应用程序会向该用户发送一封电子邮件,其中包含电子邮件中的激活链接 现在我想创建一个管理员页面,管理员可以批准这些注册用户 我该怎么做 代码: 您想查看您的站点 从链接: 为了适应大型项目,ASP.NET MVC允许您对Web进行分区 将应用程序放入称为区域的较小单元中。地区 提供一种将大型MVC Web应用程序分离为小型应用程序的方法 功能分组。区域实际上是内部的MVC

我正在开发一个MVC webapp,并且已经完成了使用SQL成员表的注册模块

现在,我已经编写了代码,当用户被创建并获得批准时,应用程序会向该用户发送一封电子邮件,其中包含电子邮件中的激活链接

现在我想创建一个管理员页面,管理员可以批准这些注册用户

我该怎么做

代码:

您想查看您的站点

从链接:

为了适应大型项目,ASP.NET MVC允许您对Web进行分区 将应用程序放入称为区域的较小单元中。地区 提供一种将大型MVC Web应用程序分离为小型应用程序的方法 功能分组。区域实际上是内部的MVC结构 申请书。一个应用程序可以包含几个MVC结构 (区域)

例如,单个大型电子商务应用程序可能会被划分 进入代表店面、产品评论、用户 帐户管理和采购系统。各地区 表示整个应用程序的单独功能


为了补充Jasons的评论,我也鼓励在这方面开展工作。您需要构建一组控制器、视图以及可能的模型来支持您的管理区域。由于您使用的是会员资格提供商,因此您应该使用授权筛选器装饰控制器或控制器操作,以便仅允许管理员访问该区域。
public ActionResult Register(RegisterModel model)
{
    if (ModelState.IsValid)
    {
        // Attempt to register the user
        MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);

        if (createStatus == MembershipCreateStatus.Success)
        {
            // FormsService.SignIn(model.UserName, false /* createPersistentCookie */);

            //used profiler  -- add profile information
            var profile = Profile.GetProfile(model.UserName);
            profile.FirstName = model.FirstName;
            profile.LastName = model.LastName;
            profile.Save();

            //email confirmation code
            MembershipService.SendConfirmationEmail(model.UserName);
            return RedirectToAction("Confirmation");
        }
        else
        {
            ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
        }
    }

    // If we got this far, something failed, redisplay form
    ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
    return View(model);
}

//send confirmation code
public void SendConfirmationEmail(string userName)
{
    MembershipUser user = Membership.GetUser(userName);
    string confirmationGuid = user.ProviderUserKey.ToString();
    string verifyUrl = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) +
                     "/account/verify?ID=" + confirmationGuid;

    var message = new MailMessage("contacts@abc.com", user.Email)
    {
        Subject = "Please confirm your email",
        Body = verifyUrl

    };

    var client = new SmtpClient();

    client.Send(message);
}