首先判断当前是否已经登录了用户,如果没有登录就返回登录页面,这也是必不可少的一步!然后获取到当前登录用户的用户ID,通过用户ID链接用户类型表再链接权限表,查询出当前用户所拥有的所有的权限!
判断当前登录的用户的权限中包不包含(“进货审核/成本可视”),如果包含就给ToFaShanHao
赋值为1,不包含则赋值为2,这种做法类似于返回一种状态码!然后通过属性ViewBag.(名称自己定义)返回到页面当中去!
{
string strUserId = "";
int ToFaShanHao = 0;
if (Session["UserID"] != null)
{
strUserId = Session["UserID"].ToString();
string strUserTypeID = Session["UserTypeID"].ToString();
string UserTypeClass = Session["UserTypeClass"].ToString();
if (!string.IsNullOrEmpty(strUserId))
{
var ID = Convert.ToInt32(strUserId);
var UserTypeID = myModels.S_R_UserRoleDetail.Where(S => S.UserID == ID).Select(S => S.UserTypeID).Single();
var listMode = (from tbJutits in myModels.S_Jurisdiction
join tbModelur in myModels.S_R_ModularDetail on tbJutits.ModularDetailID equals tbModelur.ModularDetailID
where tbJutits.UserTypeID == UserTypeID
join tbOpType in myModels.S_OpType on tbModelur.OpTypeID equals tbOpType.OpTypeID
select tbOpType.OpType.Trim()).ToList();
//当前用户所拥有的所有的权限
if (listMode.Contains("进货审核/成本可视"))
{
ToFaShanHao = 1;
}
else
{
ToFaShanHao = 2;
}
}
ViewBag.UserID = ToFaShanHao;
}
else{
return RedirectToAction("Login");
}
return View();
}
视图(JS)部分:
在视图中上面一个变量用来接收控制器中传回来的ViewBag值:
var UserID = ‘@ViewBag.UserID’; //有没有审核单据的权限:1-》有,2-》没有
接下来的操作就简单很多了,只是涉及一些按钮的禁用与点击事件而已:
—把UserID转换为数字类型再判断它的值是否为1,如果不等于就说明它没有审核的权限,就添加一个按钮禁用的属性给这个按钮并且设置它的点击事件为空!
if (parseInt(UserID) != 1) {
$("#AuditBills").attr("onclick", "");
$("#AuditBills").addClass("layui-btn-disabled");
}else{
$("#AuditBills").removeClass("layui-btn-disabled");
$("#AuditBills").attr("onclick", "Examination()");
}
例2:
如果权限是固定不变的,就可以采取这种做法,直接判断当前登录的用户,根据登录的用户来决定是否给予它审核的权限!
{
string strUserId = "";
int ToFaShanHao = 0;
if (Session["UserID"] != null)
{
strUserId = Session["UserID"].ToString();
}
return Json(strUserId ,JsonRequestBehavior.AllowGet);
}
在开头上面有个全局变量,然后Post请求控制器查询的方法并把返回的值赋值给刚才说明的全局变量(如果当前登录的用户为管理员则UserID为1,店长则为2,营业员则为3,而只有管理员才有审核的权限)所以也可以用上面视图的方法来判断
视图(JS)部分:
$.post("/DayWorkManagement/PurchaseStocks/SelectSizeNames", function (Date) {
UserID = Date;
}
if (parseInt(UserID) != 1) {
$("#AuditBills").attr("onclick", "");
$("#AuditBills").addClass("layui-btn-disabled");
}else{
$("#AuditBills").removeClass("layui-btn-disabled");
$("#AuditBills").attr("onclick", "Examination()");
}