2016-04-04 33 views
0

Integrated Windows Authentication私のアプリケーションでは、ドメインユーザーだけがアプリケーションにアクセスできるように私のアプリケーションではIntegrated Windows Authenticationを使用しています。Windows認証と統合されたカスタム認証

この手順の後、ドメインユーザーがアプリケーションにアクセスすることを許可されているかどうかを確認するために、追加の認証を行っています(ドメインユーザーはデータベーステーブルに追加されます)。

これを達成するには、次のようにしています。これはベストプラクティスですか?お知らせ下さい。

何をしようとしていることは最初のチェックの認証である
public class CCUKAuthorizeAttribute : AuthorizeAttribute 
{ 
protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     var isAuthorized = base.AuthorizeCore(httpContext); 

     var isUserAddedinDB = true; //Code to check whether user is added in DB 

     return isUserAddedinDB; 
    } 
} 

答えて

0

、その後、(彼は、アプリケーションにアクセスすることができます)認可ルールを確認してください。私はこれが最初の認証プロセス中にのみ発生する一度だけのチェックだと思います。その場合、そのロジックを別の方法に分離する方がよいでしょう(分離の懸案事項)。

一般的にMVCアプリケーションでは、カスタム認可チェックが必要な場合は、「認可」属性(example)を無効にして認可チェックを行うことをお勧めします。

+0

異なるメソッド???これについてもう少し説明していただけますか?認可は私がやろうとしていることです。しかし、すでに 'AuthorizeAtrribute'だけを使用しています。更新された質問をご覧ください。 –

+0

私は、認証後にトリガするGlobal asaxイベントのApplication_AuthenticateRequestをこのデータベースでチェックすることをお勧めします。それがあなたのシナリオに合わない場合は、キャッシュに入れなければなりません(例えば、セッションやRedisキャッシュなどに保存する)。 – Dhanuka777

+0

これを参照してください - http://stackoverflow.com/questions/10746245/context-user-is-null-in-application-authenticaterequest-via-windows-auth-in-asp – Dhanuka777

関連する問題