2016-08-02 14 views
-2

私はPHPプロジェクトを開発しています。 Senarioには通常ADMINとUSERがあります。ユーザと管理者を区別する方法

1.ADMIN-はすべてのものにアクセスできます。 Andminはオーナーと従業員を追加することができます
2.Owner - 従業員を追加することができます従業員を追加することができます
3.Employeeは自分自身の情報を見ることができます。

このセキュリティをどのように適用できますか。私はセッションやパラメータを使用しなければなりませんか?

私はSQLで管理者、所有者またはemplyeeをどのようにdiffentiateできるのかを表示します。

"select Employee_id, firstname,lastname ,Address,Epost from tbl_employee where company_id='$companyid'" 

私は、すべての従業員例えば

select * from tbl_employee 
+0

を行います?異なるユーザのための異なるコードは、通常phpで完全に行われます(mysqlの権限とユーザの作成を除いて)。セッション変数に応じてすべてのページで権限をチェックし、異なるアクセス権に異なるコードを実行します。通常、フレームワークは既にこのような種類のものをサポートしています。 – Solarflare

答えて

0

は、まず、あなたのユーザーの種類を区別するための具体的な方法を作成する必要があり見に企業IDを変更することができますどのようにその管理者の場合。 (TINYINT)1

  • 所有者 - - 2
  • は、従業員(tinyint型) - (tinyint型)
  • 3は、その後、あなたのデータベースにあなたが持っている必要があります(タイプ、アクセス

    1. 管理のいくつかの並べ替え、レベル)何でもあなたはそれを呼び出すと、そこにアクセス与えられたユーザのタイプがあります:1(たとえば)

      あなたのSQLはその後になります:

      "select Employee_id, firstname,lastname ,Address,Epost, type from tbl_employee where company_id='$companyid'" 
      

      最後のステップは、すべてのページでタイプのチェックを行い、必要な情報を印刷することです。

      基本的なPHPプロジェクトなら、それは単純な文です。それがフレームワークであれば、それはアイデンティティ・インタフェースとなるでしょう。

      P.S.あなたは管理者は、あなたがこのような何かを行います従業員を見たい場合は

      は:

      SELECT `company_id` FROM `company_table` WHERE `user_id` = '{$user_id}' 
      

      を使用すると、会社のIDを持っているときに、あなたはどのようにあなたのサイトにユーザーを区別しない

      "select Employee_id, firstname,lastname ,Address,Epost, type from tbl_employee where company_id='$companyid' AND `type` = '3'" 
      
    関連する問題