2017-03-15 8 views
0

私はAngular 1.xアプリケーションで作業しており、Adal.jsを使用して認証を処理しています。バックエンドはASP.NETコアで構築されています。 APIのエンドポイントが5つあり、うち3つしか保護する必要がありません(つまり、認証されたユーザーだけがアクセスできる必要があります)。つまり、私はGET呼び出しを認証する必要はありません。 GET呼び出しからのデータを表示する必要があるページがありますが、ユーザーがデータの編集、削除または追加を決定した場合は、そのユーザーを認証する必要があります。すべてのAPIは、UIと同じドメインでホストされます。Adal.jsが特定の経路を傍受するのを止める方法

私が直面している問題は、ADALを初期化すると、すべてのHTTP呼び出しを傍受してトークンを添付しようとしていることです。しかし、私のページのカップルが誰​​にでも見えるようにする必要があるので、それらの州は保護されていません(つまり、私はこれらの州にrequireADLogin: trueを追加していません)。その後の解決策は機能していません。つまり、API呼び出しが行われています。保護されたルートの1つにナビゲートしようとすると、ADALはユーザーをログインページに誘導し、通話が進行しています。

このような解決策をAdal Angular?

答えて

0

はい、可能です。

このシナリオでは、コントローラにはrequireADLogin:trueが指定されていません。しかし、我々は依然としてページ内のリソースを保護する必要があります。例えばユーザーのログインが必要な追加/編集/削除ボタンを隠すことができます。以下は

ユーザーが後にボタン編集を示したコードの一部は、ログイン表示されますで、サインしていない場合である。

<li><a class="btn btn-link" ng-hide="userInfo.isAuthenticated" ng-click="login()">Login</a></li> 
<li><a class="btn btn-link" ng-show="userInfo.isAuthenticated" ng-click="edit()">edit</a></li> 
関連する問題