Я создаю приложение SaaS и у меня есть некоторые проблемы, связанные с авторизацией и ASP.NET MVC. У меня есть предыдущий вопрос , и это своего рода реплика из комментариев. Мне нужно обеспечить некоторую детальную безопасность (например, множество разрешений) для каждого пользователя. Я понимаю, что любая дискреционная система может быть смоделирована как система ролей, просто создавая больше ролей. Но это гораздо больше ролей, чем я хочу иметь дело. Я не думаю, что роли будут работать для меня и хотел бы работать больше на уровне разрешений.
Мне известен стандартный ответ на любой вопрос, касающийся ASP.NET, и авторизация заключается в создании всех пользователей вашего приложения в качестве пользователей Windows и реализации поставщика членства ASP.NET. Одна проблема, я не собираюсь создавать пользователей Windows. У меня вопрос: можно ли сделать стандартные ASP.NET MVC AuthorizeAttribute и AuthorizeCore в соответствии с моделью разрешений?
Кроме того, очевидно, что стимулом здесь является то, что ASP.NET MVC Caching нарушит пользовательскую реализацию безопасности. Очевидно, я не хочу, чтобы мои страницы работали медленно, но я не уверен, что вообще хочу это кэширование. Я создаю бизнес-приложение; кэширование всего действительно уместно? Кажется, что кеширование только усложнит проблемы параллелизма, чем они уже есть. Например, если я кеширую все свои страницы с информацией о клиентах, включая страницы редактирования, не буду ли я побеждать какие-либо элементы управления параллелизмом, которые у меня были бы (например, проверка меток времени)?