增加强制登录

  • 在home控制器中的index方法 中,我们增加一个 [EntityAuthorize],如是该页面未登录,则会要求你强制登录后进入。
  • 并会自动转入到,home/index视图页

    读取登录用户名等信息

  • 魔方已自动集成好了,用户等信息表格,进行该问那里相当的简单呀。

  • 首先是引用using XCode.Membership;
  • 然后在index方法 中
  • var user=ManageProvider.User; //
  • 通过上面就可以读出用户名,注意用户名不等于登录名哟。
  • 上后台代码,先上方法 1

    1. [EntityAuthorize]
    2. public IActionResult Index()
    3. {
    4. var user=ManageProvider.User; //1zhong
    5. if (user != null)
    6. {
    7. ViewBag.user2 = ManageProvider.User;
    8. }
    9. return View();
    10. }
  • 方法 2

    [EntityAuthorize]
          public IActionResult Index()
          {
              var user=ManageProvider.User; //1zhong
              if (user != null)
              {
                   var user=provider.Current as IUser ?? XCode.Membership.User.FindAll().FirstOrDefault(); //2 zhong
                  var user111 = ManageProvider.User.Role;//juese
                  var d = ManageProvider.User.DepartmentID;//juese
                  var depert = XCode.Membership.Department.FindByKeyForEdit(d);
                  ViewBag.user1 = user;
    
              }
              return View();
          }
    
  • 然后前台

  • @ViewBag.user1 - @ViewBag.user2
  • 显示样式为

image.png

  • 是不是很简单,很快捷。这伟大的魔方。

新建我的页面读出登录用户详情

  • 下面我们来实战一个about页面,显示登录用户的详情信息
  • 新建一个AboutMe(),并增加前台视图

    [EntityAuthorize]
          public IActionResult AboutMe()
          {
              var user = ManageProvider.User;
              return View(user);
          }
    
  • 现在我们写后台读出我需要的几个登录信息

    [EntityAuthorize]
          public IActionResult AboutMe()
          {
    
              ViewBag.DisplayName = ManageProvider.User.DisplayName;
              var d = ManageProvider.User.DepartmentID;//获取部门ID
              ViewBag.DepartmentName = XCode.Membership.Department.FindByKeyForEdit(d);
              ViewBag.Sex = ManageProvider.User.Sex;
              ViewBag.Mobile= ManageProvider.User.Mobile;
              ViewBag.RoleName = ManageProvider.User.RoleName;
    
              //部门需单独读出来
              return View( );
          }
    
  • 然后我在前台进行读取 ```

    Home控制器读取登录等信息验证 - 图2

    @ViewBag.DisplayName

    @ViewBag.Mobile

    部门:@ViewBag.DepartmentName &nbsp &nbsp 角色:@ViewBag.RoleName &nbsp &nbsp 退出


- 样式如下

![image.png](https://cdn.nlark.com/yuque/0/2021/png/1174002/1616812732400-03d81e6e-bf48-4426-9588-16023539b7bd.png#height=382&id=Ohxzt&margin=%5Bobject%20Object%5D&name=image.png&originHeight=382&originWidth=305&originalType=binary&ratio=1&size=18345&status=done&style=none&width=305)

- 我增加了一个退出登录,代码如下

public IActionResult MeLogout() { XCode.Membership.ManageProvider.User.Logout(); // 注销时销毁所有Session

        return RedirectToAction("Index", "Home");//跳转到首页。

    }

```

  • 暂时代码有问题
  • 我们现在就作完了信息的提取之类的,其实还有更深层的东西,比如修改密码,头像管理,信息修改等,这里暂不写了,可以在PC后台操作。