C#/。NET WinForms/Desktopアプリケーションにセキュリティを追加する必要があります。OracleDBバックエンドを使用しています。
テーブルは単純です:User(ID、Name)、Role(ID、Role)、UserRole(UserID、RoleID)。
Windowsアカウント名を使用してユーザーテーブルにデータを入力しています。今のところ、ロールテーブルは単に「Admin」、「SuperUser」、「BasicUser」になります。
2人が同じWindowsアカウント名を持つことは不可能だったので...これらの名前管理を制御していなくても(netopsは制御しているので、Windowsアカウントを使用したいので、管理する必要はありません;))。ロールテーブルの場合、重複値を設定することはできません。入力を制御します。入力は3つだけです(戦術アプリは1年以内に廃止されます)。UserRoleは、ユーザーとロールの多対多の関係を表す結合テーブルであるため、サラグキーは正当化されません。
簡単な質問-ユーザーとロールのテーブルで「ID」(int)を気にするのはなぜですか?ここで何かポイントや利点はありますか?これは「私はいつもこのようにしてきた」タイプのものの1つですか?それとも、しばらくの間これを行わず、理由を忘れたことがありますか?