2017-01-23 10 views
0

私はいくつかのアクセス許可の制限があるWPFアプリケーションを開発しているため、管理者だけが見ることができ、いくつかの機能のみが許可されている画面があります。ユーザー許可の制御

現在、私は、すべての画面のコンストラクタメソッドでアクセス許可レベルをチェックしていますが、アプリケーションのUserオブジェクトフローがあります。しかし、私はそれを行うためにもっと知的で適切な方法がなければならないと思うのを助けることはできません。

PermissionHandlerクラスを使用して検証を行い、権限レベルのためにユーザーが実行できる操作とできない操作を設定することはできますか?

ありがとうございます。

+0

あなたは、ユーザーのストレージを自分で管理している、あなたではありませんメンバーシッププロバイダを使用していますか? –

+0

自分を管理する。 – Pelicer

+1

あなたがしたいことは、UIの代わりにセキュリティロジックをビジネスロジック層に置くことだと思います。http://softwareengineering.stackexchange.com/q/197977/38951 –

答えて

1

私はあなたのやりたいことは、UIの代わりにビジネスロジック層にセキュリティを置くことだと思います。

私はあなたのプロジェクトのアーキテクチャ/デザインパターンではよく分からないが、このQAをコントローラまたはViewModelににセキュリティロジックを移動するには良いスタートです:https://softwareengineering.stackexchange.com/q/197977/38951

1

もちろん可能です。これには、シングルトンパターンまたは静的クラスを使用できます。そのような何か(擬似コード):あなたもUser.Claimsに結合するか、または許可権を取得するためにPermissionHandler上のメソッドを作ることができるよりも

public static class PermissionHandler 
{ 
    public static User {get;set;} 
    public static Login(string username, string password) 
    { 
     //set User here 
    } 
} 

。とにかく、これを使ってコントロールを表示/非表示にしている場合、アプリケーションはスヌープなどを使って簡単にハッキングできます。ですから、もしあなたが本当にいくつかの機能の使用を "保護"する必要があれば、ビジネスロジックやサーバー側のチェックを行うべきです(もしあれば)。

サーバー側に行く場合は、トークンサービスを使用することを強くお勧めします。例えば、https://jwt.io/またはADFSです。他にもたくさんの種類がありますが、これはこのQAフォーマットでは長すぎます...

関連する問題