私の MVC アプリケーションでは、WIF を使用しています。Visual Studio 組み込みツールを使用して STS 参照を追加しました。FedUtil は web.config にいくつかのエントリを生成しました:
<microsoft.identityModel>
<service>
<claimsAuthenticationManager type="Social.Core.Security.RolesAwareClaimsAuthenticationManager, Social.Core" />
<audienceUris>
<add value="http://app.something.com/" />
</audienceUris>
...
ご覧のとおり、さらにカスタム ClaimsAuthenticationManager を作成して、STS から既に受け取ったクレームにいくつかのクレームを追加しました。
それにもかかわらず、アプリケーションではページを制限しています:
public class ProfileController : BaseController
{
[Authorize]
public virtual ActionResult Index()
{
// restricted area
}
}
制限されたアクションに AuthorizeAttribute を追加しました。app.something.com/profile/indexに入るときにのみ認証が必要です。残念ながら、メイン ページapp.something.comなど、アプリケーションの任意の部分に入るときにログオン フォームが表示されるようになりました。
WIF 認証を AuthorizeAttribute と関連付けて、必要なものだけを承認する方法は? web.config または STS のどこかに app.something.com/profile/index を追加する必要があるかもしれません。手がかりはありますか?