Symfony 1.4、sfDoctrineGuardPlugin を使用しています。
私のバックエンド アプリでは、ユーザーは URL を手動で変更することによって、実際にはアクセスできないページにアクセスできます。それを止める方法はありますか?
たとえば、すべての作成者が自分のデータに通常どおりアクセスできるとします。ただし、URL の ID を変更すると、必要な記事を編集できます。インターネットで検索しましたが、解決策が見つかりませんか? 方法を知っていますか?
どうもありがとう。
Symfony 1.4、sfDoctrineGuardPlugin を使用しています。
私のバックエンド アプリでは、ユーザーは URL を手動で変更することによって、実際にはアクセスできないページにアクセスできます。それを止める方法はありますか?
たとえば、すべての作成者が自分のデータに通常どおりアクセスできるとします。ただし、URL の ID を変更すると、必要な記事を編集できます。インターネットで検索しましたが、解決策が見つかりませんか? 方法を知っていますか?
どうもありがとう。
特定の作成者に属さないものを非表示にするだけでは、それらを編集または削除から保護することはできません。
バックエンド モジュールでexecuteEdit
/ executeUpdate
/アクションをオーバーロードして、不正な管理を回避します。executeDelete
何かのようなもの:
public function executeEdit(sfWebRequest $request) {
...
$this->forward404Unless($this->article->belongsTo($me));
...
}
さらに、適切な資格情報を確認できます。一部のユーザー グループに特別なコンテンツや別のユーザーのコンテンツにアクセスさせたい場合に便利です。
それが役立つことを願っています。
記事と著者の間に関係を作る必要があります。既にあると思いますので、ArticlePeer の doSelect メソッドをオーバーライドして Author に確認するのが最善の方法です。現在のユーザーに属する記事を選択する基準を追加するだけです。