ホーム - 業務アプリ - ユーザ認証

ユーザ認証

ユーザ認証についてYWorks Software Framework(以下、YWSFと呼びます)では、YCLogonBaseクラスとYCUserBaseクラスを用意しています。そして個々の業務アプリケーションでYCLogonBaseを継承したYCLogonクラスとYCUserBaseクラスを継承したYCUserクラスを作成します(サブクラス名は自由につけることができます)。

YCLogonクラスは「ユーザID」と「パスワード」を受け取り、ログオンの処理をします(Logonメソッド)。ユーザ認証に成功するとYCUserクラスを生成してYCApplication.Instance.Userに設定します。YCLogonクラスではUserTypeプロパティとLogonConditionプロパティをオーバーライドします。UserTypeプロパティではユーザ認証の際に生成されるユーザクラスの型(すなわちYCUserです)を返すように記述します。LogonConditionプロパティでは「ユーザID」と「パスワード」以外の認証条件(テンプレートでは削除フラグが立っていないことも条件としています)を返すように記述します。LogonConditionプロパティは「Mユーザ」テーブルへのSQL発行の際にWHERE句の一部として使用されます。

ユーザ認証に成功するとYCUserクラスのインスタンスが生成され、アプリケーション情報として保持されます。YCUserクラスではSQLプロパティ、MainMenuTypeプロパティ、AuthorityCodeプロパティ、IsAdministratorプロパティ、IsGuestプロパティをオーバーライドします。

SQLプロパティではユーザ情報取得用のSELECT分を返します。「Mユーザ」テーブル以外にも必要に応じたテーブルからのデータ項目を取得できます。取得した情報は内部のDataTableに保持されます。業務アプリケーション内ではYCUserインスタンスのインデクサとして項目名を与えること(すなわちYCApplication.Instance.User["データ項目名"])で取得した情報を得ることができます。

MainMenuTypeプロパティではアプリケーション起動時に開くメニュー画面の型を返します。ユーザの権限や所属グループによって異なるメニュー画面を返すよう記述してください(運用に差支えがなければ同じメニュー画面の型を返しても構いません)。 AuthorityCodeプロパティはデータ変更時の権限チェックに使用されます。ユーザのデータ変更権限が認識できるコード(string型)を返すよう記述します。 IsAdministratorプロパティとIsGuestプロパティはユーザ権限です。管理者権限のユーザにはIsAdministratorがtrue、ゲスト権限のユーザにはIsGuestがtrueを返すよう記述してください。