bootstrap adminlte教程2:布局之mvc5 identity取出所有的用户信息及role写入session
我是这个思路,不知对不对,我让所有用户登记进入home/index.
然后点后台再进入后台。
那么我在登录 转入home/index中取出所有的信息。
1\打开HomeController控制器,找到index方法。
[Authorize] public ActionResult Index() { Session["role"] = ""; string id = User.Identity.GetUserId(); //获取当前用户的user.id if (string.IsNullOrWhiteSpace(id)) { return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest); } var xxxx = UserManager.GetRoles(id) ; //获取当前用户所属和Rolr序列 if (xxxx == null) { Session["role"] = "无"; //如为空则赋一个空值 } else { var userRoles = xxxx as IList<string>; //将对象转为string列 foreach (var role in userRoles) { Session["role"] = role; //赋值 给session[role] } } User user = UserManager.FindById(id); //通过Userid获到所有的用户表 Session["username"] = user.UserName; Session["birthDate"] = user.BirthDate; Session["gender"] = user.Gender; Session["qq"] = user.QQ; Session["phone"] = user.PhoneNumber; Session["headerPic"] = user.HeaderPic; //这是头像的URL地址表 Session["userIP"] = HttpContext.Request.UserHostAddress; if (Session["role"] == null) { Session["role"] = "无"; } return View(user); }
然后在前台index.schtml中进行修改测试。
<div class="jumbotron"> <h1>ASP.NET</h1> <p> <img src=@Session["headerPic"] /> <p> @Session["role"] </p> </p> <p> @Session["userIP"] </p> <p> @Session["userName"] </p> <p> </p> </div>
结果前台果然出来了,这就达到了这个笔记的目的。马上可以全部用于部局中。