Я только новичок в ASP.NET MVC и не уверен, как решить определенную задачу «правильным путем».
По сути, я храню зарегистрированный идентификатор пользователя в HttpContext.User.Identity и написал EnhancedAuthorizeAttribute
для выполнения некоторой пользовательской авторизации.
В переопределенном методе OnAuthorization
моя модель домена обращается к базе данных, чтобы гарантировать, что текущий идентификатор пользователя может получить доступ к переданному в routeValue «BatchCode». Прототип:
ReviewGroup GetReviewGroupFromBatchCode(string batchCode);
Он вернет ноль, если пользователь не сможет получить доступ к ReviewGroup, и OnAuthorization затем запретит доступ.
Теперь я знаю, что декорированный метод действия будет выполняться только при прохождении OnAuthorization, но я не хочу во второй раз обращаться к базе данных, чтобы снова получить ReviewGroup.
Я думаю о том, чтобы сохранить группу ReviewGroup в HttpContext.Items["reviewGroup"]
и получить доступ к ней из контроллера в данный момент.
Это выполнимое решение, или я на неправильном пути?
Спасибо!