После возврата вектора в виде двойного *, когда он читается, он отличается

Тег в web.config основан на путях, тогда как MVC работает с действиями и маршрутами контроллера.

Это архитектурное решение, которое не может иметь большого значения, если вы просто хотите запретить пользователям, которые не вошли в систему, но имеет большое значение, когда вы пытаетесь применить авторизацию на основе ролей и случаях, когда вы хотите выполнить специальную обработку типов Unauthorized.

Первый случай рассматривается из ответа BobRock.

Пользователь должен иметь хотя бы одну из следующих ролей для доступа к контроллеру или действию

[Authorize(Roles = "Admin, Super User")]

. Пользователь должен иметь обе эти роли, чтобы иметь доступ к Controller или Action

[Authorize(Roles = "Super User")]
[Authorize(Roles = "Admin")]

Пользователь, который может получить доступ к контроллеру или к действию, - это Betty and Johnny

[Authorize(Users = "Betty, Johnny")]

. В ASP.NET Core вы можете использовать Claims и Policy для авторизации через [Authorize].

options.AddPolicy("ElevatedRights", policy =>
                  policy.RequireRole("Administrator", "PowerUser", "BackupAdministrator"));

[Authorize(Policy = "ElevatedRights")]

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

public class CustomAuthorizeAttribute: AuthorizeAttribute  
{  
    public override voidOnAuthorization(AuthorizationContextfilterContext)  
    {  }
}

«Правильно выполненный» способ сделать авторизацию в ASP.NET MVC используя атрибут [Authorize].

0
задан Kyefus 17 January 2019 в 00:16
поделиться

1 ответ

При выходе из функции pi_sequence, vector<double> ests уничтожается.

Так как data() возвращает указатель на базовый массив, он указывает на недопустимую память при возврате вызывающей стороне, так как эта память освобождается деструктором vector<T>.

Почему бы просто не вернуть сам вектор по значению? В любом случае он будет оптимизирован с помощью RVO (или семантики перемещения), поэтому вы не получите большой разницы.

0
ответ дан Jack 17 January 2019 в 00:16
поделиться
Другие вопросы по тегам:

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