2017-09-06 17 views
0

私のウェブサイトにはAAD認証が有効になっており、ホームページにアクセスしようとするとうまくいきます。 しかし、htmlページに直接アクセスしている場合は、認証を求めるプロンプトが表示されません。すべてのページの認証を有効にする設定がありませんか?HTMLページがAAD認証されていません

+0

あなたは既に認証済みですか? :) – Kamo

+0

:) - 私はIn-Privateブラウジングで私がそうでないことを確認しようとしました。 – namrata

+0

AAD認証をどのように有効にしましたか?それはサイト構成にありますか?その後、すべてのページ、静的なHTMLページに対しても機能するはずです。それが一部のコントローラで '' [Authorize] ''属性である場合、それはそれらにのみ適用されます。 – RasmusW

答えて

1

通常、読み込み前にユーザーに認証を要求するようにページを設定する必要があります。

ここで私は、Pythonフラスコでこの問題の解決されています。適切なタイミングでこのコードを呼び出すために、私は ビューデコレータを作成する必要があり、そしてフラスコをするためのサンプルを持って、今 Refresh Tokens for Azure AD V2 Applications in Flask

をほぼ正確に私たちが ここでやりたいこと:ログインに必要なデコレータ。

基本的には、ユーザー がサインインされると予想されるビューにこのデコレータを追加します。ユーザーにトークンがない場合、ログインページ にリダイレクトされます。期限切れのトークンとリフレッシュトークンがある場合、 はリフレッシュトークンを使用して新しいアクセストークンを取得します。そうでない場合、 トークンが存在し、有効であれば、単にビューをロードさせます。

この同じ概念は、.NETを使用して、箱から出して提供されています:active-directory-dotnet-graphapi-web

あなたは、次のこのサンプルのREADMEに見つけることができます:

ユーザーが必要とする場合はアプリケーションの ページが表示される前にサインインするには、HomeControllerで[Authorize]属性を使用して HomeControllerクラスをデコレートします。あなたはこの アウトのままにした場合、ユーザーは がサインインする最初の持つ、とに署名を取得するために、そのページ にサインインリンクをクリックすることができずにアプリのホームページを見ることができます。