我的方案是人事表单显示3个级别的安全信息,1个基本名称,部门和联系人,2个与地址相关的个人信息等,以及3,包括工资等在内的商业信息。
我有一个标签形式,显示效果很好。数据通过Jquery的loadJson插件从数据库加载,基于登录用户的UserID。最后,用户可以选择另一个用户并显示他们的数据。再次,这很好。
我的要求是根据用户登录配置文件中的安全级别保护/显示选项卡中的数据(我的所有安全配置文件都可正常工作)。
1,所有用户都可以在标签1中看到数据。 2,所有用户都可以在标签1-3中看到自己的数据。 3,所有用户都可以更新自己记录的标签2中的数据。 现在为困难的一点 4,没有用户可以更新自己记录的标签1和3。 5,经理可以查看/更新低于自己的用户的所有选项卡。 6,没有用户可以更新/查看自己等级或更高级别用户的tab3。 7,只有高级经理才能更新所有标签。
我已经尝试并考虑了许多方法,包括管理所有这些服务器端,但这似乎意味着生成了大量草率的HTML。
我最近的想法是通过设置密码来保护字段。在根据用户等级和传入记录的等级加载记录之前的类型属性,如下所示;
if (<%=session("uid")%> != data.StaffID) {
switch(<%=session("lid")%>) {
case 200:
alert($('#StaffSalary').prop('type'));
$('.semisecure, .secure').removeAttr("type");
alert($('#StaffSalary').prop('type'));
$('.semisecure, .secure').prop('type', 'password');
alert($('#StaffSalary').prop('type'));
break;
case 400:
$('.secure').removeAttr("type");
$('.secure').prop('type', 'password');
break;
}
}
else {
};
$('form').loadJSON(data);
StaffSalary字段最初设置为类型&#39; text&#39;。第一个提醒显示它的类型为文本,removeAttr后的第二个提醒仍然显示文本,最后的提示显示密码&#39;。
但是,查看选项卡时,数据显示为文本。如果我测试这个将html更改为密码,则加载的数据将显示为密码。
也许这是错误的做法,但我们将非常感谢您的想法和意见。
PS。因为这个性质,我不能给它一个链接。对不起