特定のIP範囲内からサイトにアクセスしているユーザーのみがアクセスできる特定のページがあります。他のすべてのユーザーの場合、これらのページにはアクセスできず、それぞれのリンクはメニュー/ナビゲーションに表示されません。イントラネットとインターネットユーザーのナビゲーションとコンテンツを表示/非表示するOrchardCMSの拡張方法
OrchardCMSの新機能ですが、誰かが一般的な指針を示して正しい方向に向けることができますか?
特定のIP範囲内からサイトにアクセスしているユーザーのみがアクセスできる特定のページがあります。他のすべてのユーザーの場合、これらのページにはアクセスできず、それぞれのリンクはメニュー/ナビゲーションに表示されません。イントラネットとインターネットユーザーのナビゲーションとコンテンツを表示/非表示するOrchardCMSの拡張方法
OrchardCMSの新機能ですが、誰かが一般的な指針を示して正しい方向に向けることができますか?
あなたの質問には2つの側面があります。それにコンテンツアイテムやメニュー項目の相対的な果樹園へのアクセスを確認するには
1:
これを実現するために、あなたはデフォルトのロールベースの認証サービスを置き換えるために新しいIAuthorizationServiceEventHandler
を実装することができ、あなたのための最良のサンプルですいくつかのアクションへのアクセスを確認するには
2:あなたはOrchard.ContentPicker
モジュールの下に見つけることができますContentMenuItemAuthorizationEventHandler
は、私はこのハンドラの使用方法を説明するためのサンプルコードが含まれていました。これを実現するために
、あなたのシステム内のいくつかのアクションへのアクセスをチェックするために、新しいIAuthorizationFilter
を実装できます。
public class CustomAuthorizationFilter : FilterProvider, IAuthorizationFilter {
public void OnAuthorization(AuthorizationContext filterContext) {
if (!Granted) {
filterContext.Result = new HttpUnauthorizedResult();
}
}
}
@mdameerで言及したソリューションはOKですが、コンテナを使用しているときに困難に実行されます、リスト、投影、およびもの。
私は似たような仕事をしましたが、日付の時間範囲がありました。私の質問を参照し、カスタムパーツを経由して、これを取り組むためにどのようなアイデアを取得するためのタスクに答える:
アウト[このスレッド](http://stackoverflow.com/questions/11879500/how-toを-limit-page-access-only-localhost) – devqon
devqon、私はdot.netでこれを行う方法を知っています、それは構文の問題ではありません。問題は、orchardCMSをどのように拡張してこのような動作につなげるかです。ありがとう! – NoCarrier