現在の実装がポリシー/要件に依存しているため、ASP.NET 5でカスタム認可フィルタをプログラムする方法を探していますしたがって、私は本当に疲れている(私はすべての味を試してみました)のumpteenthと刻々と変化するアイデンティティシステムで。DIをASP.NET MVC 6の要件/ポリシーに追加する
私は自分のリポジトリを持っているのでクレームとしてコード化したくないほどのパーミッション(200以上)があります。何百もの文字列を比較するよりもチェックする方がはるかに高速ですどのような主張が最後にあるのか)。
私は権限の私のカスタムリポジトリに対してチェックする必要があり、各属性にパラメータを渡す必要があり:
[Authorize(Requires = enumPermission.DeleteCustomer)]
私はこれが最も頻繁なシナリオではないですけど、私はそれがエッジではないと思います場合。私は、彼の偉大なポスト "ASP.NET 5とMVC 6のセキュリティ:Authorization"の@leastprivilegeで説明されている方法で実装しようとしましたが、私も著者と同じ壁にヒットしました。 ASP.NET 5 githubリポジトリの問題はあまり明確でない方法で閉じられました:link
どのようにこれを達成するためのアイデアですか?多分他の種類のフィルターを使用していますか?その場合、どうですか?続き
どこが問題なのですか?依存関係が解決されていないか、パラメータが設定されていませんか? –
問題は、引数をオブジェクトの配列として渡してフィルタ内に取り込む方法を理解できないということです。以前のバージョンでは、フィルタ自体に同じ名前のパブリックプロパティを作成していましたあなたが渡していたパラメータとして(上記のように)、今ではオブジェクト配列を渡す必要があります。 – Vi100
これは新しい権限フィルタの問題ですが、質問の意図はポリシーでこれを実現する実装を求めることでした/ requirements – Vi100