Извините, если раньше об этом спрашивали, но я искал и Google, и этот сайт и не могу найти полную работу, ориентированную на новичков. Я пытаюсь написать страницу входа, которая проверяет подлинность по группам активных каталогов с использованием ASP.NET 2. Я обнаружил различные статьи, но, похоже, им не хватает ключевой информации для новичков. Мне удалось собрать воедино страницу входа, которая работает с парой активных входов в каталог, но я не могу ограничить ее только пользователями, которые являются членами определенных групп активных каталогов.
Мой web.config содержит следующее:
<connectionStrings>
<add name="ADConnectionString" connectionString="LDAP://domainname.local/DC=domainname,DC=local" />
</connectionStrings>
<authentication mode="Forms">
<forms
loginUrl="Login.aspx"
name=".ADAuthCookie" timeout="1000" />
</authentication>
<authorization>
<allow roles="DOMAINNAME\group"/>
<deny users="?"/>
</authorization>
<membership defaultProvider="MyADMembershipProvider">
<providers>
<add name="MyADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName"/>
</providers>
</membership>
Я анонимизировал реальный домен, но я считаю, что эта часть работает, поскольку она позволяет мне войти в систему, если я использую:
<allow roles="DOMAINNAME\username"/>
<deny users="?"/>
Остальная часть проекта состоит из страницы Login.aspx с элементом управления WebControls.Login и страницы Default.aspx со следующим в функции page_load, чтобы доказать, что вход в систему работал:
Response.Write("Hello, " + Server.HtmlEncode(User.Identity.Name));
Я пытался
<allow roles="DOMAINNAME\group"/>
<deny users="*"/>
Но это, похоже, отрицает всех.
Что мне не хватает?