using linker.messenger.signin; using linker.libs; namespace linker.messenger.sforward.server.validator { /// /// 验证 /// public sealed partial class SForwardValidatorTransfer { private List validators = new List(); public SForwardValidatorTransfer() { } /// /// 加载验证实现类 /// /// public void AddValidators(List list) { if (list == null) return; validators = validators.Concat(list).Distinct().ToList(); LoggerHelper.Instance.Info($"load sforward server validator :{string.Join(",", list.Select(c => c.GetType().Name))}"); } /// /// 验证 /// /// /// /// public async Task Validate(SignCacheInfo signCacheInfo, SForwardAddInfo sForwardAddInfo) { foreach (var item in validators) { string result = await item.Validate(signCacheInfo, sForwardAddInfo); if (string.IsNullOrWhiteSpace(result) == false) { return result; } } return string.Empty; } } }