Как обезопасить веб-страницы в ASP.Net с ролями?

В моем приложении я играю разные роли и перебиваю несколько страниц. Как защитить веб-страницы, к которым определенные роли не могут получить доступ?

Представьте, что группа 1 имеет доступ к веб-странице a.aspx, b.aspx и c.aspx, но не к веб-странице d.aspx. Как мне обеспечить, чтобы, когда пользователь группы 1 вводил d.aspx, он не мог просматривать страницу?

 Muhammad Akhtar15 июн. 2009 г., 14:50
Эти роли фиксированы в таблице БД или могут быть изменены?
 Martijn15 июн. 2009 г., 14:28
У меня нет предпочтений ..
 Muhammad Akhtar15 июн. 2009 г., 15:29
У нас тоже такая же ситуация. Каждая роль имеет доступ к определенным страницам. Что мы сделали так же, как я написал в ответе. 1 пункт, который нужно отметить, в вашем случае, если вы добавите еще 1 роль в БД, куда вы поместите эту роль Доступность страниц ????? Опять же, вы должны определить эту роль Доступность в web.confing .... Второй вариант здесь - во время выполнения поставить эти роли в доступ или создать такую вещь во время выполнения. Я имею в виду, вы должны изменить web.config во время выполнения .....
 Remco Eissing15 июн. 2009 г., 14:16
Вы хотите реализовать это с помощью безопасности на основе ролей .NET?
 Martijn15 июн. 2009 г., 15:07
На данный момент они зафиксированы и хранятся в таблице (id + описание). У меня сейчас 4 роли.

Ответы на вопрос(3)

Решение Вопроса

какая роль может получить какую страницу.

<location path="yourPage.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
            <allow roles="Super Admin"/>
                            <deny users="Admin"/>

        </authorization>
    </system.web>
</location>
 Martijn15 июн. 2009 г., 14:26
Thnx. Но мои роли хранятся в базе данных. Есть ли (быстрый аккуратный) динамический путь?
 Muhammad Akhtar15 июн. 2009 г., 14:40
Эти роли фиксированы в таблице БД или могут быть изменены?
 Martijn15 июн. 2009 г., 16:57
Таким образом, для каждой страницы я должен создать тег авторизации?
 Muhammad Akhtar16 июн. 2009 г., 10:15
да, ты должен .. мы сделали то же самое, что я тебе сказал.

но я думаю, что вы хотите посмотреть на это - членство в ASP.NET.

Я бы начал здесь:Изучение членства, ролей и профиля ASP.NET 2.0.

Веб-сайты с досками объявлений, веб-сайты электронной коммерции, веб-сайты социальных сетей и веб-сайты порталов имеют одну общую черту: все они предоставляют учетные записи пользователей. Эти веб-сайты и многие другие позволяют (или требуют) посетителям создавать учетные записи для использования определенных функций. Например, веб-сайт доски объявлений, такой как ASPMessageboard.com, позволяет анонимным и аутентифицированным посетителям просматривать и искать сообщения на различных форумах. Однако, чтобы иметь возможность создавать новую ветку или отвечать на сообщение, посетитель должен иметь учетную запись и войти на сайт.

 Martijn15 июн. 2009 г., 14:16
Thnx. Я ищу быстрое и хорошее решение. Это не для очень большого применения.
 C. Ross15 июн. 2009 г., 14:20
То, что он предлагает, вероятно, будет быстрее, чем твое собственное.

Модуль авторизации, который применяет авторизацию к соответствующим URL:http://code.google.com/p/talifun-web/wiki/RegexUrlAuthorizationModule

Ваш ответ на вопрос