-1

私はアプリケーションを構築していますが、顧客はグループ権限を持つ基本認証システムを実装したいと考えています。すべて良い。

私が取り組みたい問題は、ユーザーがログインするときに、ユーザーグループごとにデフォルトのランディングURLを設定できるようにしたいということです。彼はフォームを介して設定したいので、ハードコーディングできません。

:AdministratrorのデフォルトのURLは次のようになります

myapp / dashboard

と作家の

myapp / write

最初は、すべてのURLのテーブルを作成し、それらをgroupPermissionsテーブルに接続したかったのですが、少し冗長に見えます。

私のアプリはLaravelPHPFrameworkでビルドされています。

問題:この問題に取り組むための最良の方法は何ですか?

4

1 に答える 1

3

システムの柔軟性によって異なります。管理パネルでURIパスを変更する場合は、URLをある種の構成に保存し、ログイン時にそれらをロードするのが最善の方法です。

あなたが望むと私が信じていることのために、私はグループ内のURIを定数として定義します:

<?php

class Group extends Eloquent {
    const ADMIN_URI = 'myapp/dashboard'; // Could also be named routes.
    const WRITER_URI = 'myapp/write';
}

次に、ユーザーにログインしてアクセス許可グループを取得し、ログインコントローラーで次のようなチェックを行います。

if(defined($redirectUri = sprintf('Group::%s_URI', strtoupper($groupName))) {
    return Redirect::to(constant($redirectUri));
}

または次のようなもの:

switch(strtolower($group)) {
    case 'admin':
        return Redirect::to(Group::ADMIN_URI);
        break;
    case 'writer':
        return Redirect::to(Group::WRITER_URI);
        break;
    default:
        return Redirect::to('homepage');
        break;
}

それは本当に意見の問題です。唯一の懸念事項は、URIルートを格納し、それらに均一にアクセスする方法を一元化することです。

于 2012-12-27T22:04:03.447 に答える