長い間ASP.NETWebフォームを使用しているプロジェクトがありますが、セキュリティスキームでは、ルートweb.config内のすべてのユーザーを拒否し、web.configに基づいてサイトの特定の領域のユーザーを許可していました。そのような特定のフォルダ:
<!-- Root Web.config -->
<authorization>
<deny users="*" />
</authorization>
<!-- ~/Admin Web.config -->
<authorization>
<allow roles="AdminRole" />
<deny users="*"/>
</authorization>
私はこのプロジェクトにMVC4を追加していますが、私の当初の理解では、承認は次のような属性によって制御されていました。
[Authorize(Roles="OtherSectionRole")]
public class OtherSectionController : Controller
{ ... }
を使用しても、これは機能しないようですRoles="*"
。ルートweb.configを削除した場合にのみdeny *
、コントローラーアクションを実行できます。私は何かが足りないのですか?MVCを機能させるために、ルートレベルでキャッチオール認証を削除したくありません。前もって感謝します!