HandleAuthenticateAsync вызывается даже без атрибута [Authorize]

Вы можете использовать классы DOM в PHP. ( http://us3.php.net/manual/en/intro.dom.php ).

Вам нужно будет прочитать XML-документ в памяти, использовать DOM классы для выполнения манипуляций, а затем вы можете сэкономить XML по мере необходимости (до http или файла).

DOMNode - это объект, в котором есть функции удаления (для решения вашего вопроса).

Это немного сложнее, чем SimpleXML, но как только вы привыкнете к нему, он намного более мощный

(полупринятый из примера кода на php.net)

load('theFile.xml');

$thedocument = $doc->documentElement;

//this gives you a list of the messages
$list = $thedocument->getElementsByTagName('message');

//figure out which ones you want -- assign it to a variable (ie: $nodeToRemove )
$nodeToRemove = null;
foreach ($list as $domElement){
  $attrValue = $domElement->getAttribute('time');
  if ($attrValue == 'VALUEYOUCAREABOUT') {
    $nodeToRemove = $domElement; //will only remember last one- but this is just an example :)
  }
}

//Now remove it.
if ($nodeToRemove != null)
$thedocument->removeChild($nodeToRemove);

echo $doc->saveXML(); 
?>

Это должно дать вам немного идеи о том, как удалить элемент. Он будет печатать XML без этого узла. Если вы хотите отправить его в файл, просто напишите строку в файл.

2
задан lennyy 18 January 2019 в 14:30
поделиться

1 ответ

Похоже, вы неправильно используете AuthenticationHandler. Вы не должны немедленно отклонять доступ, если пользователь не может пройти аутентификацию. Если вы сделаете это, он даже не достигнет контекста MVC в конвейере.

Если вы намеренно не хотите отклонить какой-либо доступ для неаутентифицированных пользователей, вы должны только аутентифицировать или передавать его как анонимного пользователя. После этого в какой-то момент включается AuthorizeAttribute и проверяется, имеет ли пользователь доступ к запрошенному ресурсу или нет. Если он не аутентифицирован, авторизация отклонит запрос.

0
ответ дан Imantas 18 January 2019 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: