Определить, может ли пользователь получить доступ к странице, сгенерированной базой данных? - PullRequest
1 голос
/ 12 января 2010

У меня установлены провайдеры Membership, Profile и Role для моего веб-сайта .NET MVC. Я хотел бы сказать: у этого Role есть доступ к этому Page.

Как «внедрить» этот код в RoleProvider? Или я должен как-то это переопределить? Есть ли отводы?

(Роли хранятся в ASP.NET SqlRoleProvider по умолчанию, страницы хранятся в отдельной базе данных SQL).

Ответы [ 2 ]

2 голосов
/ 12 января 2010

Почему вы вводите это в поставщика ролей? Почему бы просто не украсить ActionResult [Authorise(Roles="myrole")]?

Я понимаю, что ваши страницы находятся в базе данных, но результат действия все равно должен вызывать представление, верно?

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

Я не думаю, что поставщик ролей является подходящим местом для определения, может ли страница отображаться или нет.

1 голос
/ 12 января 2010

Взгляните на , используя sitemaps в asp.net. Это очень легко управлять и расширить .

Я даже использовал их в качестве источника данных для системы меню.

Оказавшись на своей странице, вы можете сделать что-то вроде:

User.IsInRole("RoleName")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...