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>
结果前台果然出来了,这就达到了这个笔记的目的。马上可以全部用于部局中。
浙公网安备 33010602011771号