我正在开发php项目。 Senario通常有ADMIN和USER。
1.ADMIN-可以访问每件事。 Andmin可以添加所有者和员工 2.Owner-只能看到自己的公司员工,可以增加员工 3.员工只能看到自己的信息。
我如何应用此安全性。我应该使用会话或参数或可用的其他东西吗?
当我显示数据时我如何在sql中对其管理员,所有者或者emplyee进行区分。
"select Employee_id, firstname,lastname ,Address,Epost from tbl_employee where company_id='$companyid'"
如果它的管理员如何更改companyid以查看所有员工,例如
select * from tbl_employee
答案 0 :(得分:0)
首先,您应该创建一种区分用户类型的特定方法。某种
然后在您的数据库中,您应该拥有(类型,访问,级别)您所称的任何内容,并且在那里给定用户的访问类型:1(例如)
您的SQL将成为:
401
最后一步是在每个页面中检查类型并打印所需信息。
如果它是一个基本的php项目,那么语句会很简单。如果是框架那么它将是身份界面等等。
P.S。
如果您希望管理员看到员工,您将执行以下操作:
s = requests.Session()
data = {'username':"admin", 'password':"admin"}
url = "http://127.0.0.1:8080/share/page/dologin"
r = s.post(url, data=data)
if (r.status_code != 200) :
print "Incorrect login or password "
url1 = "http://127.0.0.1:8080/alfresco/service/api/sites/OdooSite50"
print url_alfresco
jsonString = JSONEncoder().encode({
"title" : name
})
headers = {'content-type': 'application/json',"Accept":"application/json"}
site = s.put(url1,headers=headers,data=data)
if (site.status_code != 200) :
print " Error while creating site"
print site.status_code
然后,当您拥有公司ID时,您将执行
"select Employee_id, firstname,lastname ,Address,Epost, type from tbl_employee where company_id='$companyid'"