不知道这是不是个合适的问题。不过,现在开始了。
我目前正在为客户开发一个项目,ASP.net 4.5 MVC4剃须刀。这基本上是他们的客户的一个网络商店,他们注册了一个帐户,并从他们的目录中订购产品,以便在他们举办的活动中使用。客户必须登记由我的客户员工创建的事件,以便下订单。站点上有一个管理员门户,他们在那里登录并创建、管理和更新事件、订单和用户。怎么做不是我的问题。我的问题是:
我怎么能有管理员登记呢?!你们用了什么程序?我不认为硬编码密码是好的,我肯定我想把它和正常的用户注册分开。我计划使用SimpleMembership。我的意思是,一个现有的管理员可以创建管理帐户,但是第一个管理帐户呢?鸡肉还是鸡蛋?这有道理吗?
编辑:我在这方面做了相当多的功课,我的意思是,我可以在webpages_Roles中手动添加一个Admin角色,并将其手动添加到第一个管理员中,并让后续管理员通过管理员添加该角色,但前几步听起来有点麻烦。
发布于 2013-08-11 07:43:03
正如您在编辑部分中所说的,您应该首先手动添加一个管理帐户。之后,您可以简单地将Admin角色授予任何注册用户,如下所示:
Roles.AddUserToRole(model.UserName, "Admin"); 如果您希望您的管理员与其他用户完全分离,则应该向普通用户添加一个user角色,而不要让管理员拥有这个角色。
因此,只需在Register操作AccountController.cs方法中添加上述代码即可。
[HttpPost]
[Authorize(Roles="A, Personnels")]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
Roles.AddUserToRole(model.UserName, "User"); // Add this line here...
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}并负责自己创建管理帐户,或者让他们注册为普通用户,并推荐使用followingFirst方法。
Roles.RemoveUserFromRole(model.UserName, "User");
Roles.AddUserToRole(model.UserName, "Admin");就这样..。
https://stackoverflow.com/questions/18167691
复制相似问题