Zabezpieczenia oparte na dokumentach w ASP.NET MVC

Wiem już o zabezpieczeniach opartych na użytkownikach i rolach w ASP.NET MVC. Ale teraz potrzebuję czegoś bardziej szczegółowego.

Powiedzmy, że mam listę dokumentów, z których część jest autoryzowana przez użytkownika, a niektóre nie. Każdy dokument ma odpowiedni rekord w tabeli dokumentów w bazie danych. Dokumenty można pobrać do przeglądania, jeśli użytkownik ma dostęp do zabezpieczeń. Dokumenty można również dodawać, jeśli masz taką rolę. Każdy dokument ma adres URL, a każda lista dokumentów ma adres URL.

Chciałbym zabezpieczyć przycinanie listy, aby użytkownik widział tylko te dokumenty, dla których jest autoryzowany. Ale muszę także uwierzytelnić żądania URL dla tych list i dokumentów, ponieważ nic nie stoi na przeszkodzie, aby użytkownik zapisał zakładkę do dokumentu, do którego nie ma już dostępu, lub po prostu wpisuje adres URL w przeglądarce.

Czy wbudowany model zabezpieczeń oparty na rolach nadaje się do tego, czy też muszę stworzyć oddzielne zabezpieczenia oparte na tabelach? Czy mogę umieścić zabezpieczenia w moim repozytorium, aby zwrócone rekordy były już przycięte, czy też powinny być częścią kontrolera? Czy potrzebuję atrybutu bezpieczeństwa, aby sprawdzić poprawność żądania kontrolera, czy powinienem po prostu umieścić go w metodzie kontrolera jako pierwszych kilka wierszy kodu?

questionAnswers(2)

yourAnswerToTheQuestion