-1

codeigniter を使用して、ユーザーが制限された領域を含む単純な Web サイトを作成しようとしています。

すべてのページで、このユーザーがこのページで許可されているかどうかを確認する/その機能の実行を許可するコントローラーをロードするように、ログインコントローラーをどのように設計できるか疑問に思っていました。

質問:

  1. すべてのページでこのログイン機能を自動ロードするにはどうすればよいですか。
  2. ユーザーがこの機能を実行できるかどうかを確認するための適切な安全なロジックは何ですか? 1.admin、2.secretary、3.workerの3つの異なるユーザータイプがあることに注意してください。どうすれば所有者に機能を割り当てることができますか? 「管理者は、他の 2 つのタイプにアクセス権を割り当てることができるはずです」

私は自分のプロジェクトを完了しましたが、このログインユーザーアクセス制御の経験はありませんので、アドバイスをいただければ幸いです

4

1 に答える 1

1

「MY_Controller」をご覧ください。基本的に、MY_Controller.phpというファイルを作成し、それをapplication / core(http://ellislab.com/codeigniter/user-guide/general/core_classes.html)に配置します。

CI_Controllerを拡張するMY_Controllerというクラスをこのファイルに配置します

class MY_Controller extends CI_Controller {
    public function __construct() {
        parent::__construct();
        //check if your user is logged in here
    }
}

上記の構成は、他のコントローラーメソッドが呼び出される前に最初に呼び出されます。したがって、ユーザーがログインしているかどうかを確認し、ログインしていない場合は、ログインフォームにリダイレクトできます。

2番目の質問に役立つ可能性のあるさまざまな認証ライブラリがたくさんあります。それらをチェックしてください、そしてそれらはあなたを助けるかもしれません(私の頭のてっぺんから何も覚えていませんが、私はあなたがオプションを持っていることを知っています)。

于 2012-12-04T20:07:23.117 に答える