加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 应用程序架构 – 管理员注册和管理

发布时间:2020-12-15 21:54:40 所属栏目:百科 来源:网络整理
导读:不知道这是否是一个合适的问题.但是,在这里. 我目前正在为客户端开发一个项目,ASP.net 4.5 MVC4剃须刀.它基本上是一个网上商店,为他们的客户注册一个帐户,并从他们的目录中订购产品,以便在他们所参加的活动中使用.客户必须注册我的客户员工创建的活动才能下
不知道这是否是一个合适的问题.但是,在这里.

我目前正在为客户端开发一个项目,ASP.net 4.5 MVC4剃须刀.它基本上是一个网上商店,为他们的客户注册一个帐户,并从他们的目录中订购产品,以便在他们所参加的活动中使用.客户必须注册我的客户员工创建的活动才能下订单.站点上有一个管理员门户,他们将登录并创建,管理和更新事件,订单和用户.怎么做不是我的问题.我的问题是:

如何让管理员注册?!你们用过什么过程?我不认为硬编码密码是好的,我确定我想将它与普通用户注册分开.我打算使用SimpleMembership.我的意思是现有的管理员可以创建管理员帐户,但第一个管理员帐户呢.鸡肉还是鸡蛋?这有意义吗?

编辑:我做了相当多的家庭作业,我的意思是我想我可以手动在webpages_Roles中添加一个Admin角色并手动将其添加到第一个管理员并让后续管理员通过管理员添加该角色但前几个步骤听起来有点hackish.

解决方法

正如您在编辑部分中所说,您应该首先手动添加管理员帐户.之后,您可以简单地向任何注册用户授予Admin角色,如下所示:

Roles.AddUserToRole(model.UserName,"Admin");

如果您希望管理员与其他用户完全分离,则应将用户角色置于普通用户,并且不要让管理员拥有此角色.

因此,只需在AccountController.cs的Register操作方法中添加上述代码即可

[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);
    }

并负责自己创建管理员帐户,或让他们注册为普通用户并执行以下操作[建议采用第一种方法]:

Roles.RemoveUserFromRole(model.UserName,"User");
Roles.AddUserToRole(model.UserName,"Admin");

就是这样……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读