2009-03-12 2 views
0

Я хочу, чтобы аутентифицировать пользователей из другого (надежного) леса в моем приложении Asp.Net. До сих пор я получил это в моем web.config:ASP.Net Аутентификация пользователей из другого доверенного леса

<?xml version="1.0"?> 
<configuration> 
    <appSettings/> 
    <connectionStrings/> 
    <system.web> 
    <compilation debug="true" /> 
    <authentication mode="Windows" /> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 
    </system.web> 
</configuration> 

Мое приложение работает на сервере в домене А, в лесу А. Я хочу, чтобы ограничить доступ к своему приложению к группе в domain A. Эта группа будет «локальной группой домена». В эту группу будут входить пользователи из домена B в лесу B. Лесу В доверяет лес А.

Сказав все это, если есть лучший способ, дайте мне знать.

Заранее спасибо

-update-

Я просто проверял с пользователями, и User.Identity.Name кажется правильным. Кроме того, User.IsInRole, кажется, дает мне ожидаемые результаты при проверке, находится ли пользователь в другом лесу в локальной группе домена моего леса. Еще просто нужно немного удачи, чтобы «разрешить» и «отрицать» дело работать в web.config.

+0

Я пробовал это с помощью web.config, как указано выше, и это разрешало пользователям, а User.Identity.Name было их именем входа. Но когда я изменяю раздел авторизации, чтобы отказать всем, кроме конкретной группы, он не работает. – Chris

ответ

0

Хорошо, просто работал для меня, делая это так:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <authentication mode="Windows"/> 
    <authorization> 
     <allow roles="MYDOMAIN\MyDomainLocalGroup"/> 

     <deny users="*"/> 
     <deny users="?"/> 
    </authorization> 
    </system.web> 
</configuration> 

Занятно, это обычный нормальный способ сделать проверку подлинности ASP.NET, ограничивая пользователей только те, в определенной группе. Я не знаю, почему это не сработало в первый раз.