权限启用/作废
我们来看看权限维护的最简单的做法,刚刚开始学的时候,让我们可以初步理解权限,而安全性比较低,但我们可以好理解。有一种做法是比较复杂的,就是把所有的数据都写到数据库,菜单都是从数据库中读取出的,这种做法安全性也最高。
我们这个做法最开始是可以限制到操作类型的,操作类型是什么呢,就是我们写的增删查改,而这一步在我们目前是限制不了的,因为老师把这一部分删掉了,如果有限制的话前写的代码都地改,所以只限制到菜单,直接不让其访问。
在查询的时候(UserTypeID!=1),为什么不能等于1,因为UserTypeID的数据1就是超级管理员,超级管理员是不能看到自身的权限的,防止超级管理员把自身的权限取消,如果可以取消,万一一不小心把超级管理员自身权限取消了,这个系统就麻烦了,然后就是要改数据库了。
获取页面的数据:
function switchEnable(userTypeId, toVoidNo) {
var strMsg = “确认”;
strMsg += toVoidNo ? “启用” : “作废”;
strMsg += “该用户类型?”;
layer.confirm(strMsg, {
icon: 3,
btn: [‘确定’, ‘取消’]
}, function (index) {
layer.close(index);//关闭询问提示框
layerIndex = layer. Load();//打开加载层
$. post ("/Jurisdiction Management/Jurisdiction/SwitchUserTypeToVoidNo",
{
userTypeId: userTypeId,
toVoidNo: toVoidNo
}, function (jsonData) {
layer. Close(layer Index);//关闭加载层
if (jsonData.State == true) {
tabUserType.reload();//刷新table
} else {
layer.msg(message.Text, { icon: 0, skin: “layui-layermolv” });
}
}, ‘json’);
});
}
然后到控制器写操作代码:
public ActionResult SwitchUserTypeToVoidNo(int userTypeId, bool toVoidNo)
{
ReturnJsonVo returnJson = new ReturnJsonVo();
returnJson.State = false;
try
{
//先查询出userTypeId对应的数据
SYS_UserType dbUserType = (from tbUserType in myModel.SYS_UserType
Where tbUserType.UserTypeID == userTypeId
select tbUserType).Single();
dbUserType.ToVoidNo = toVoidNo;
myModel.Entry(dbUserType).State = EntityState.Modified;
if (myModel.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = “更改成功”;
}
else
{
returnJson.Text = “更改失败”;
}
}
catch (Exception ex)
{
Console.Write(ex);
returnJson.Text = “参数异常”;
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
本题才有来源于教师,有什么不足之处请多多指点。