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 服务应用程序 中也得到验证请教前辈 谢谢
<authorization>
<allow users="*"/>
</authorization>
</system.web>
上google去看下更详细
<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中去认证.