Hola gente resulta que en mi aplicacion decidimos utilizar autenticacion de 
forms validando mediante active directory, pues bien  si tratas de entrar al 
sitio el te pide que te auntentiques y si eres usuario del directorio activo. 
efectivamente no puedes entrar. El problema es que yo tengo algunas carpetas 
donde solo puedes entrar si eres de un grupode usuarios determinados y si no, 
no puedes; pero esto ultimo se lo está saltando es decir solo esta validando 
que seas del directorio activo, pero no que no seas del grupo autorizado. en 
fin aca les mando el codigo de autenticacion y el web.config hay algo que esta 
mal y no lo sé. muchas gracias y nos leemos.

este es el codigo de la página web de autenticacion
Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As 
System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate

Dim domainName As String = 
ConfigurationManager.AppSettings("Dominio").ToString()

If (IsAuthenticated(domainName, Me.Login1.UserName.ToString().Trim, 
Me.Login1.Password.ToString().Trim) = True) Then

FormsAuthentication.RedirectFromLoginPage(Me.Login1.UserName.ToString().Trim, 
False)

Else

usuario.Muestra_mensaje_alerta(" Usuario o Contraseñas Incorrectos. Reintente 
otra vez. ", Me)

End If

End Sub

Public Function IsAuthenticated(ByVal domain As String, ByVal username As 
String, ByVal pwd As String) As Boolean

Dim _path As String

Dim _filterAttribute As String

Dim servername As String = ConfigurationManager.AppSettings("servidor").ToString

'Whether Authenticated User or Not 

domain = domain.Replace("LDAP://", "")

domain = domain.Replace(".cu", "")

Dim domainAndUsername As String = domain + "\" + username

Dim entry As New DirectoryEntry("LDAP://" + servername, domainAndUsername, pwd)

Try

Dim obj As Object = entry.NativeObject

Dim search As New DirectorySearcher(entry)

search.Filter = "(SAMAccountName=" + username + ")"

search.PropertiesToLoad.Add("cn")

Dim result As SearchResult = search.FindOne

If result Is Nothing Then

Return False

End If

_path = result.Path

_filterAttribute = CType(result.Properties("cn")(0), String)

Catch ex As Exception

Return False

End Try

Return True

End Function

este es el web.config de la aplicacion

<?xml version="1.0"?>

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0";>

<configSections>

<sectionGroup name="microsoft.web" 
type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">

<section name="scripting" 
type="Microsoft.Web.Configuration.ScriptingSectionGroup, 
Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35"/>

<section name="converters" type="Microsoft.Web.Configuration.ConvertersSection" 
requirePermission="false"/>

<section name="webServices" 
type="Microsoft.Web.Configuration.WebServicesSection" 
requirePermission="false"/>

<section name="profileService" 
type="Microsoft.Web.Configuration.ProfileServiceSection" 
requirePermission="false"/>

</sectionGroup>

</configSections>

<microsoft.web>

<converters>

<add type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>

<add type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>

<add type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>

</converters>

<webServices enableBrowserAccess="true"/>

</microsoft.web>

<appSettings>

<add key="localhost.WebService" 
value="http://servidor/Egedch/WebService/WebService.asmx"/>

<add key="dominio" value="LDAP://gedich.cu"/>

<add key="servidor" value="192.168.1.1"/>

<add key="report" 
value="http://servidor/ReportServer/Pages/ReportViewer.aspx?%2fGEDICH%2f"/>

<add key="reportserver" value="http://servidor/ReportServer/"/>

<add key="reportpathccontrol" value="/GEDICH/CCONTROL/"/>

</appSettings>

<connectionStrings>

<add name="GEDICH" connectionString="Data Source=servidor ;Initial 
Catalog=Database;Persist Security Info=True;User ID=gedich;Password=gedich; 
Connect Timeout=30" providerName="System.Data.SqlClient"/>

</connectionStrings>

<system.web>

<authentication mode="Forms">

<forms loginUrl="login.aspx" name="adAuthCookie" timeout="60" path="/">

</forms>

</authentication>

<sessionState timeout="40"/>

<httpRuntime executionTimeout="500"/>

<pages>

<controls>

<add tagPrefix="asp" namespace="Microsoft.Web.UI" 
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35"/>

<add tagPrefix="asp" namespace="Microsoft.Web.UI.Controls" 
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35"/>

</controls>

</pages>

<globalization culture="es-MX" uiCulture="es-MX"/>

<httpHandlers>

<add path="Reserved.ReportViewerWebControl.axd" verb="*" 
type="Microsoft.Reporting.WebForms.HttpHandler, 
Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>

<remove verb="*" path="*.asmx"/>

<add verb="*" path="*.asmx" type="Microsoft.Web.Services.ScriptHandlerFactory" 
validate="false"/>

<add verb="*" path="atlasbatchcall.axd" 
type="Microsoft.Web.Services.MultiRequestHandler" validate="false"/>

<add verb="*" path="atlasglob.axd" 
type="Microsoft.Web.Globalization.GlobalizationHandler" validate="false"/>

<add verb="*" path="*.asbx" type="Microsoft.Web.Services.ScriptHandlerFactory" 
validate="false"/>

</httpHandlers>

<compilation debug="true" defaultLanguage="c#">

<assemblies>

<add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, 
Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=B03F5F7F11D50A3A"/>

<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=B03F5F7F11D50A3A"/>

<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=B77A5C561934E089"/></assemblies>

<buildProviders>

<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, 
Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a"/>

<add extension=".asbx" type="Microsoft.Web.Services.BridgeBuildProvider"/>

</buildProviders>

</compilation>

</system.web>

<location path="Nomencladores" allowOverride="true" 
inheritInChildApplications="true">

<system.web>

<authorization>

<allow roles="gedich\Aplicacion_GEDICH"/>

<deny users="?"/>

</authorization>

</system.web>

</location>

<location path="ccontrol" allowOverride="true" 
inheritInChildApplications="true">

<system.web>

<authorization>

<allow roles="gedich\Aplicacion_GEDICH"/>

<deny users="?"/>

</authorization>

</system.web>

</location>

<location path="grupos_electrogenos" allowOverride="true" 
inheritInChildApplications="true">

<system.web>

<authorization>

<allow roles="gedich\Aplicacion_GEDICH"/>

<deny users="?"/>

</authorization>

</system.web>

</location>

<location path="Personal" allowOverride="true" 
inheritInChildApplications="true">

<system.web>

<authorization>

<allow roles="gedich\Aplicacion_GEDICH"/>

<deny users="?"/>

</authorization>

</system.web>

</location>

</configuration>


Responder a