0

私の 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 を追加する必要があるかもしれません。手がかりはありますか?

4

1 に答える 1

2

STS 参照の追加を実行すると、ウィザードは認証セクションを追加し、匿名ユーザーを拒否します。それを削除します。

<authorization>
  <deny users="?" />
</authorization>
于 2012-08-16T13:03:31.473 に答える