2

WinForms と SQL Server CE データベースを介してユーザーを管理できるアプリケーションを開発しようとしています。ユーザー名とパスワードの列を持つテーブルデータベースに設定されたログインを介してユーザーがログインする方法を確立しました。

現在、アプリケーションの特定の機能へのアクセスを制限する最善の方法を見つけようとしています。私の目標は、アプリケーションをモジュール (顧客、従業員、請求など) に分類し、ユーザーにモジュール全体の読み取り/書き込みアクセス許可を与えることです。後で、フォームごとにセキュリティを実装しようとするかもしれません。

これを達成する方法についてのアイデアはありますか?

4

1 に答える 1

1

最初に、SQL CE にロール テーブルを作成する必要があります。

したがって、 UserTableRoleID FKには各ユーザーに追加されている可能性があります。

管理者とユーザーの役割があるとします。

各フォームで、アプリケーションにアクセスするユーザーのロールをチェックするセキュリティ ハンドラー メソッド / クラスを追加します。

を作成public string Role;puclic string UserName、各フォームでその値をフォームの残りの部分に渡すことができます。

追加できるカスタマー フォーム ロードの例

if(Role=="Admin")
{
    //visible all controls stuff
}
else
{
    //User
    //set controls to read only stuff
}

ログイン フォーム ログオン/OK クリック イベント

できるよ

//your stuff on getting the role of the user 
//validation stuff
string role =  // get user role;  
if (role!=null)
{
    //if you have MDI Parent
    var mdi = new MDIParent
    {
        UserName = txtUserName.Text,
        Role = role,
    };
    mdi.Show();    
    this.Hide();
}
else
{
    //Error user not valid!!
}

よろしくお願いします

于 2013-04-05T01:40:56.163 に答える