http://www.cnblogs.com/viter/archive/2009/07/01/endpointidentity.html
概述
Windows Communication Foundation (WCF) 是 Microsoft 为构建面向服务的应用程序而提供的统一编程模型(摘自MSDN),在分布式环境下的安全问题尤为重要,如果你觉得使用了WCF默认的安全措施可以让你高枕 无忧,那明天你可就以回家种田了,当然,对于学习来说,足够了~,但我们讲的是真正的项目应用,WCF在各种协议下的安全提供和保证是不尽相同的。
背景
故事发生在一个阳光明媚的下午,一名女子为了混入某小区行窃,将上次偷到的管道维修工作牌别在胸前,当她走近管理员身边时,被管理员一把抓个正着,原来这小区从上次失窃事件后,已经将维修队解散,现在维修都是由管理员联系外部人员,自然也不用别什么工作牌了。
问题呈现
1、许多朋友对这个EndPointIdentity相当的不屑顾,千万不要小看它呀,有时候你被wcf弄生弄死的时候还不知道为什么,这次你应该看清楚了。当你新建一个WCF服务类库时,正确的EndPointIdentity声明如下
<endpoint address ="UserData" binding="netTcpBinding" contract="UserService.IUserData" bindingConfiguration="EndpointBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
说实话,EndPointIdentity这东西在革命初期(wcf初建立时),我觉得它就像是人一盲肠,多了它也没啥用,少了它也不觉得碍事,你不信?删了试试,你要真删除了其实也没什么。
2、客户端如果引用了服务元数据,生成的EndPointIdentity和服务器端的一模一样,不信你自己看,实际上,你也可以把它删除了(革命初期),对服务调用没啥影响。
3、在你的绑定中,安全选项为None的时候,你想怎么弄它就怎么弄它,不要紧,随便改。如下