如何在php

时间:2016-08-02 07:32:24

标签: php mysql

我正在开发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

1 个答案:

答案 0 :(得分:0)

首先,您应该创建一种区分用户类型的特定方法。某种

  1. 管理员 - (tinyint)1
  2. 所有者 - (tinyint)2
  3. 员工 - (tinyint)3
  4. 然后在您的数据库中,您应该拥有(类型,访问,级别)您所称的任何内容,并且在那里给定用户的访问类型: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'"