现在的位置: 首页 > 综合 > 正文

ADMemberShip 尝试

2013年03月19日 ⁄ 综合 ⁄ 共 3057字 ⁄ 字号 评论关闭

配置了一个用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(test001@carat.com, abc123#@#$);
            FormsAuthentication.SetAuthCookie("test001", true);

            FormsAuthentication.RedirectFromLoginPage("test001", true);
            if (User.Identity.IsAuthenticated)
            {
                Response.Write(User.Identity.Name);
            }
            Membership.CreateUser("test001", abc123#@#$); 

 

抱歉!评论已关闭.