1.1.39.0 の変更点(.NET Core)
ソース基準日: 2021年7月20日(版を示すソースコミットの日付)。1.1.38.0 からの変更です。
不具合修正
- 利用者・権限 — AD連携によるログイン時にLoginIdがフォームの入力値となる不具合を修正した。
- API・拡張 — サーバスクリプトのTodayがUTC環境で正しく動作しない不具合を修正した。
- 運用・設定 — 項目のアクセス制御でその他タブを設定しサーバスクリプトを使用した場合に正しく制御が行われない不具合を修正した。
修正の詳細
AD連携のログインIDをディレクトリから求める
ユーザの作成・同期処理で、フォームから渡されたログインIDを使う処理を外し、LDAPエントリから LoginId を求めます。Windows認証の場合は NetBiosName、それ以外は LdapSearchProperty の値を使います。ログイン時と同期時で同じ取得処理を使います(Ldap.cs、Ldap.cs)。
Todayを利用者の日付から求める
Today() は現在時刻をコンテキストのローカル時刻へ変換し、日付部分を取得してからUniversalへ戻します。1.1.38.0 の DateTime.Today をそのまま返す処理を改め、UTC環境でも利用者の日付を基準にします(ServerScriptModelUtilities.cs)。
項目の編集権限をその場で判定する
CanEdit の noCache の既定値を false から true に変更しています。呼び出し側で指定しなくても、キャッシュを使わず権限を判定するようになり、別タブの項目とサーバースクリプトを組み合わせた場合のアクセス制御に関わります(Column.cs)。