Разрешение доступа к сайту MVC с использованием аутентификации Windows через группы через имя пользователя - PullRequest
0 голосов
/ 20 октября 2011

У меня есть сайт MVC2, который теперь разрешает доступ к нему через проверку подлинности Windows и использует поставщика ролей ASP.net для обеспечения авторизации.Я пытаюсь найти способ, позволяющий сайту разрешить пользователю доступ к сайту, если его имя пользователя является членом определенных групп, поэтому мне не придется регистрировать пользователя в sql, а просто зарегистрировать группу с доступом,У кого-нибудь есть идеи, как это сделать?Есть ли быстрый и грязный способ?До сих пор в моих интернет-исследованиях я не нашел быстрый и грязный способ сделать это?Любая помощь будет отличной.

Спасибо

1 Ответ

0 голосов
/ 20 октября 2011

Поиск информации о роли / группе для пользователя

ASP.NET предоставляет полезную возможность «управления ролями», которая позволяет разработчикам отображать пользователей в логические «роли», которые затем можно использовать для лучшего контроля конечного пользователя.-пользовательские возможности и авторизация доступа.Например, как разработчик, я мог бы создать роль «менеджеры» для своего веб-приложения, а затем ограничить доступ к частям сайта только для тех пользователей в роли «менеджеры» (примечание: я буду публиковать дополнительные рецепты вбудущее, в котором обсуждается, как в полной мере использовать функции авторизации и возможностей Role Management подробнее).

При использовании аутентификации Windows ASP.NET позволяет разработчикам создавать и заполнять роли из нескольких источников.Например, разработчик может настроить встроенный ASP.NET 2.0 SqlRoleProvider для сопоставления пользователей Windows с пользовательскими ролями приложений, которые хранятся в базе данных.Этот подход очень полезен для сценариев, где могут существовать сопоставления ролей для конкретных приложений, которые не имеют смысла проталкивать в централизованное дерево / хранилище Active Directory.

ASP.NET также облегчает доступ к центральной Windowsи сопоставления групп Active Directory из приложения.Например, если в сети Active Directory есть группа Windows под названием «DOMAIN \ Manager», приложение ASP.NET может определить, принадлежит ли текущий пользователь, прошедший проверку подлинности Windows, посещающий сайт ASP.NET, к этой группе, написав такой код:

If User.IsInRole("DOMAIN\managers") Then
     Label1.Text = User.Identity.Name & " is a manager"
Else
     Label1.Text = User.Identity.Name & " is not a manager"
End If

Обратите внимание, что поиск роли / группы выполняется с помощью метода «User.IsInRole (rolename)», который является равноправным для свойства User.Identity.Name.

src http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx

...