http://msdn.microsoft.com/zh-cn/library/bb546195(v=VS.90)这是微软的一个演练1:在 ASP.NET Web 服务应用程序 中 我多加了一个 wcf 简单服务 默认的简单服务2:web.config 里<system.web.extensions>    <scripting>      <webServices>        <authenticationService enabled="true" requireSSL="false"    />        <profileService enabled="true"          readAccessProperties="WebSettingsTestText"          writeAccessProperties="WebSettingsTestText" />        <roleService enabled="true"/>      </webServices>    </scripting>  </system.web.extensions>  <system.web>    <authorization>   <!-- 这斜体部分加上就不能得到 wcf服务 -->      <deny users="?"/>      <allow users="*"/>    </authorization>    <membership defaultProvider="UserConnectionString" userIsOnlineTimeWindow="20">      <providers>        <remove name="AspNetSqlProvider"/>        <add name="UserConnectionString"             type="System.Web.Security.SqlMembershipProvider"             connectionStringName="UserConnectionString"             enablePasswordRetrieval="false"             enablePasswordReset="true"             requiresUniqueEmail="false"             requiresQuestionAndAnswer="true"             passwordFormat="Hashed"             applicationName="/"/>      </providers>    </membership>    <roleManager enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES"       defaultProvider="UserConnectionString">      <providers>        <add connectionStringName="UserConnectionString" applicationName="/"           name="UserConnectionString" type="System.Web.Security.SqlRoleProvider" />      </providers>    </roleManager>    <profile enabled="true" >      <properties>        <add name="WebSettingsTestText" type="string"          readOnly="false" defaultValue="DefaultText"          serializeAs="String" allowAnonymous="false" />      </properties>    </profile> 3: 在客户端private void Form1_Load(object sender, EventArgs e)        {            if (!Membership.ValidateUser("manager", "123456?"))            {                MessageBox.Show("Unable to authenticate.", "Not logged in",                    MessageBoxButtons.OK, MessageBoxIcon.Error);                Application.Exit();            }            else            {                //这块没有web的身份验证进不去 去掉前面  web.config 斜体部分 可以进入             ServiceReference1.Service1Client ss = new                                                                                    ServiceReference1.Service1Client();            label1.text = ss.GetData(1);            }        }       急!!怎样让客户端验证完 同时在ASP.NET Web 服务应用程序 中也得到验证请教前辈 谢谢     

解决方案 »

  1.   

     <system.web>
            <authorization>
              <allow users="*"/>
            </authorization>
     </system.web>
    上google去看下更详细
      

  2.   

    Winform WebForm SSO
      

  3.   

    #2楼的 跑题了 不过依然谢谢你  win客户端应用程序 怎样通过 asp.net web 应用程序的身份验证 得到wcf服务?? 怎样让客户端验证完 同时在ASP.NET Web 服务应用程序 中也得到验证
      

  4.   

    要搞清楚这段配置的意思
    <authorization> 
    <!-- 这斜体部分加上就不能得到 wcf服务 -->
       <deny users="?"/>  <!-- 禁止匿名访问 --> 
       <allow users="*"/> <!-- 允许所有人反问 -->
    </authorization>
    其中,如果匹配第一条规则,则不会再匹配第二条,意思就是如果是匿名用户就无法登陆.ServiceReference1.Service1Client ss = new ServiceReference1.Service1Client();这个你设置的应该是允许匿名登录,所以由于你WebConfig设定为 <deny users="?"/> 禁止匿名,所以就无法调用了."怎样让客户端验证完 同时在ASP.NET Web 服务应用程序 中也得到验证"你是希望把 "!Membership.ValidateUser("manager", "123456?")" 这部分认证也提交到WCF中去吗?
    如果不是NT网域,不采取NT集成认证的话,你可以将帐号+密码 --> 生成MD5 ,提交到WCF中去认证.