powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Windows authintication
2 сообщений из 2, страница 1 из 1
Windows authintication
    #37462214
macros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем!

Нужны советы "бывалых"

Начинаю делать проект (ASPNET MVC3) - сайт во внутрикорпоративной сетке. Аутентификация - встроенная (доменные учетки пользователей).
Вопрос собственно про авторизацию по ролям - хочется прямо средствами самого приложения (из админки) создавать группы (роли)
и включать в них определенных пользователей. Но не хочеться пользоваться группами AD.
Возможно ли такое ? и как правильно сделать?

СПросил у гугла - он сказал надо делать свой Role provider. Я написал, переопределил основные методы (IsUserInRole, GetRolesForUser, GetUsersInRole...) в конфиге указал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    <roleManager enabled="true" defaultProvider="MySecurity">
      <providers>
        <clear />
        <add 
          name="MySecurity" 
          type="MySecurityProvider" 
          connectionStringName="SecurityDB" 
          applicationName="/" />
        
      </providers>
    </roleManager>

Для хранения пользователй, ролей и прав пользователей использую SQL 2008 Expr - файл с папке app_data
Далее на контроллере проверяю роль аутентифицированного пользователя:

Код: plaintext
1.
2.
3.
4.
[Authorize(Roles = "admin")]
public class SecurityController : CustomAdminController
{
 ...
}

Далее - захожу на страницу под своей учеткой (я принадлежу группе admin) но страница все равно просит меня авторизоваться.

Я что-то еще забыл сделать? или мой подход вообще не правильный?

Незнание - порождает стремление...
...
Рейтинг: 0 / 0
Windows authintication
    #37466456
macros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался во всем сам.
Оказывается кроме своего RoleProvider нужно еще реализовывать свой MembershipProvider. Хотя, может я не прав, но у меня заработало.
Теперь можно пользоваться стандартныйми атрибутами для всего контроллера:

Код: plaintext
1.
2.
3.
[Authorize(Roles = "admin")]
public class SecurityController : CustomAdminController
{....

и все правила действуют как нужно.

НО, появилась другая проблема:

После того как удаляю у конкретного пользователя роль admin. Он все-равно какое то время еще может зайти в админский раздел. Через некоторое время (примерно минута-две) - "правила срабатывают" и его уже не пускают в раздел - выводится окно для ввода учетки и пароля.

Откуда может быть такая задержка?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Windows authintication
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]