Pergunta

Eu quero autenticar os usuários de outra floresta (confiável) no meu aplicativo Asp.Net. Até agora, eu tenho isso no meu web.config:

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

Meu aplicativo está sendo executado em um servidor no domínio A, na floresta A. Eu quero restringir o acesso a minha candidatura a um grupo no domínio A. Este grupo será um 'grupo local de domínio'. Este grupo irá conter usuários do domínio B na floresta B. Floresta B tem a confiança de floresta A.

Dito tudo isso, se há uma maneira melhor, deixe-me saber.

Agradecemos antecipadamente

-update -

Eu apenas testei com os usuários, eo User.Identity.Name parece ser correto. Além disso, User.IsInRole parece estar me dando os resultados esperados quando verificar se o usuário na outra floresta é no grupo local de domínio da minha floresta. Ainda só precisa de alguma sorte para conseguir a 'permitir' e 'negar' coisa a trabalho no web.config.

Foi útil?

Solução

Ok, só trabalhou para mim, fazê-lo como este:

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

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

Amusingly, esta é a maneira simples normal para fazer a autenticação asp.net, restringindo os usuários apenas aqueles em um determinado grupo. Eu tenho certeza por que não funcionou pela primeira vez.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top