ADMemberShip 尝试

配置了一个用ADMemberShip验证用户的网站,发现手工在AD域里创建的用户不能在验证成功,必须后面要加@再加域名才能验证成功,等有时间再调查一下!

下面是Web.Config的配置的主要部分

    <system.web>

        <!-- 

            设置 compilation debug="true" 可将调试符号插入到

            已编译的页面。由于这会

            影响性能,因此请仅在开发过程中将此值

            设置为 true-->

        <authorization>

      <deny users="?" />

      <allow 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" connectionUsername="carat\administrator" connectionPassword="111111"/>

            </providers>

        </membership>

        <compilation debug="true">

            <assemblies>

                <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

            </assemblies>

        </compilation>

        <!--

            通过 <authentication> 节可以配置

            安全身份验证模式,ASP.NET 

            使用该模式来识别来访用户身份。 

        -->

        <authentication mode="Forms">

            <forms loginUrl="login.aspx" name="aspxlogin"/>

        </authentication>

        <!-- <authentication mode="Windows" />

        

            如果在执行请求的过程中出现未处理的错误,

            则通过 <customErrors> 节

            可以配置相应的处理步骤。具体而言,

            开发人员通过该节可配置要显示的 html 错误页,

            以代替错误堆栈跟踪。



        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

            <error statusCode="403" redirect="NoAccess.htm" />

            <error statusCode="404" redirect="FileNotFound.htm" />

        </customErrors>

        -->

        <pages>

            <controls>

                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

                <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            </controls>

        </pages>

        <httpHandlers>

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

            <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>

        </httpHandlers>

        <httpModules>

            <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

        </httpModules>

    </system.web>

在页面中要引用 System.Web.Security命名空间
主要引用到MemberShipping静态类,及FormsAuthentication静态类,下面是用到的一些方法

     Membership.ValidateUser([email protected], abc123#@#$);

            FormsAuthentication.SetAuthCookie("test001", true);



            FormsAuthentication.RedirectFromLoginPage("test001", true);

            if (User.Identity.IsAuthenticated)

            {

                Response.Write(User.Identity.Name);

            }

            Membership.CreateUser("test001", abc123#@#$); 

 

你可能感兴趣的:(IP)