Я пытаюсь получить доступ к текущему пользователю (т. е. ClaimsPrincipal из идентификатора) в пользовательском атрибуте ValidationAttribute, и я не понял, как это сделать.
public class UniqueTitleValidator : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
// var user = ?
}
}
Я знаю, что могу получить доступ к пользователю из HttpContext (но я не знаю, как добраться до последнего).
Основная проблема в том, что у меня нет доступа к User. Когда я использую пользовательский атрибут ValidatorAttribute для свойства, когда свойство создается, пользователь (или также HttpContext) имеет значение null. Это означает, что я не могу, например. передать пользователя конструктору валидатора. Вот почему мне интересно, как Валидатор может узнать что-то о Пользователе (и/или его утверждениях). Если я могу получить доступ к любому из, например. HttpContext или User внутри валидатора, я также могу получить всю другую информацию о времени выполнения. Мой вопрос понятен?
sub
даст вам идентификатор пользователя, если вы просто хотите userId. - person prisar   schedule 28.10.2018