Ошибка Nancy requireClaims возвращает значение 403. Как это использовать? - PullRequest
1 голос
/ 21 октября 2011

Если модуль требует претензию, а пользователь не имеет претензии, возвращается ответ 403.Например:

this.RequiresClaims(new[] { "SuperSecure" });

или

this.RequiresValidatedClaims(c => c.Contains("SuperSecure"));

, но это просто возвращает пустую страницу пользователю.

Как мне поступить с пользователем, у которого нет требуемой претензии?Могу ли я «поймать» 403 и перенаправить?

Метод requireClaims возвращает void или использует ловушку перед запросом для возврата HttpStatusCode.Forbidden.Что я должен сделать, чтобы пользователь знал, что произошло?

Большое спасибо, Нил

1 Ответ

1 голос
/ 21 октября 2011

Вы можете поймать его, написав собственный хук пост-запроса (либо на уровне приложения, либо на уровне модуля), либо внедрив свой собственный IErrorHandler , возможно, оборачивая по умолчанию .

Изменится обработчик ошибок, так что вы сможете зарегистрировать несколько (для разных кодов ошибок), это нужно сделать (с интерфейсом "можно / сделайте"), но для некоторыхпричина, по которой мой мозг не добавил его в коллекцию: -)

...