- 浏览: 495438 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1028)
- [发布至博客园首页] (826)
- [随笔分类]个人生活随笔 (14)
- [网站分类]首页候选区 (26)
- [网站分类]SharePoint (15)
- [网站分类]其他技术区 (6)
- [随笔分类]批处理技巧 (6)
- [随笔分类].net 2.0 (3)
- [随笔分类]SharePoint2007(MOSS2007) (0)
- [网站分类].NET新手区 (6)
- [网站分类]ASP.NET (6)
- [网站分类]架构设计 (18)
- [网站分类]程序人生 (2)
- [网站分类]SQL Server (2)
- WCF (3)
- 编程技巧 (2)
- 模式架构 (2)
- 分析设计 (4)
- 生活随笔 (0)
- 软件工程 (1)
- Android实例 (2)
最新评论
-
zilong0536:
楼主您好:
请问发表博文支持图片的功能怎么实现啊,一直没有思路 ...
新浪微博开放平台开发-android客户端(3) -
nicegege:
小弟 学习了
帮助中国移动设计10086的排队小模块 -
zl7824516:
用什么技术没说啊
通告(公告),消息(站内短信),提醒的设计:通告 -
virusswb:
源码下载: SinaWeibo2 源码下载之后,将后缀改为ra ...
新浪微博开放平台开发-android客户端(3) -
Jimmyxu0311:
找不到源码下载
新浪微博开放平台开发-android客户端(3)
Silverlight3系列(二)Silverlight3+wcf+在不使用证书的情况下自定义用户名密码验证
- 博客分类:
- [发布至博客园首页]
先说一下我的需求。
系统需求:
系统是一个电子商务平台,可以提供信息的展示,购买和交易(交易将来考虑)。其实和淘宝是一样的,区别就是淘宝是一个综合类的,什么产品都上的,我们是一个行业性的,垂直的。
技术选型:
Silverlight3
WCF
MS SQL
功能需求:
客户端可以直接通过http访问,不需要使用https,而且也不需要安装证书。我们的wcf服务不想直接暴露在Internet中,但是不要使用https访问,也不要证书验证,因为大部分还是信息的浏览,将来的交易部分肯定是需要https,甚至是需要安装证书的,目前不需要这些。
设计
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IdentityModel.Tokens;
using System.IdentityModel.Selectors;
namespace WcfService
{
public class MyValidator:UserNamePasswordValidator
{
private string _userName;
public string UserName
{
get { return _userName; }
}
private string _password;
public string Password
{
get { return _password; }
}
public override void Validate(string userName, string password)
{
this._userName = userName;
this._password = password;
}
}
}
<services>
<service behaviorConfiguration="WcfService.Service1Behavior" name="WcfService.ServiceCustomer">
<host >
<baseAddresses >
<add baseAddress="http://sl.kimbanxcn:82/ServiceCustomer.svc"/>
</baseAddresses>
</host>
<!--<endpoint address="" binding="basicHttpBinding" contract="WcfService.IServiceCustomer">-->
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="test" contract="WcfService.IServiceCustomer">
<identity>
<dns value="sl.kimbanxcn"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WcfService.Service1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
<serviceCredentials >
<clientCertificate>
<authentication certificateValidationMode="None"/>
</clientCertificate>
<!--<issuedTokenAuthentication allowUntrustedRsaIssuers="true"></issuedTokenAuthentication>-->
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="WcfService.MyValidator, WcfService"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings >
<basicHttpBinding >
<binding name="test">
<security mode="TransportCredentialOnly">
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
client.ClientCredentials.UserName.UserName = "admin";
client.ClientCredentials.UserName.Password = "admin";
_sysUser = new SysUser() { UserName = "swb", Password = "swb" };
LoadCustomers();
GetCustomerById();
client.SayHelloAsync(_sysUser);
{
_myValidator = (MyValidator)OperationContext.Current.Host.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator;
return string.Format("hello,{0},your password is {1}\n{2}{3}", sysUser.UserName, sysUser.Password,
_myValidator.UserName,_myValidator.Password );
// ,_myValidator.UserName ,_myValidator.Password );
}
可就是不成功,在wcf暴露的方法中设置断点, 跟踪到_myValidator .UserName为null,在MyValidator中设置断点,方法
public override void Validate(string userName, string password)
{
this._userName = userName;
this._password = password;
}
就没有运行,挂不得是null呢,为什么呢?是不是配置问题呢?我尝试了很多组合,就是出不来效果,是不能这样做呢?还是旧不支持这种需求呢?请各位有空的帮我看看,也请搞过的朋友指点一二,谢谢了!!
下图是我的WCF的IIS中的身份验证配置,是不是和这里也有什么关系呢?
msn:jorden008@hotmail.com
源代码:/Files/virusswb/Silverlight.rar
在下一篇Silverlight+WCF的安全考虑1(紧接上文:Silverlight3+wcf+在不使用证书的情况下自定义用户名密码验证)中我对安全问题,又找了一些新的想法。
发表评论
-
NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导
2010-06-04 00:13 546如果你的应用是通 ... -
NET 应用架构指导 V2 学习笔记(十七) 组件设计指导
2010-06-05 00:48 668组件提供了一种将 ... -
NET 应用架构指导 V2 学习笔记(十八) 表现层组件设计指导
2010-06-05 21:09 527本章讲述的是你在设计用户界面组件和表现层逻辑组件的时候应该 ... -
NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
2010-06-06 06:15 5895 决定数据绑定的 ... -
NET 应用架构指导 V2 学习笔记(二十) 业务组件设计指导
2010-06-07 06:58 613前言 业务组件 ... -
微软企业库5.0学习笔记(四十二)异常处理模块
2010-06-14 00:04 835企业库的异常处理 ... -
关于程序员在30岁、35岁之后怎么办的新思考
2010-06-14 10:40 623首先给大家问个好 ... -
NET 应用架构指导 V2 学习笔记(二十四) 跨层关注问题
2010-06-17 20:00 592概况 大部分的 ... -
微软企业库5.0学习笔记(四十三)数据验证模块
2010-06-19 08:07 993概况 任何接受用户或者是其他系统输入的应用,一定要确保 ... -
关于项目进度慢的思考----如何提高整体开发效率
2010-06-21 23:42 801我们都是软件行业 ... -
微软企业库5.0学习笔记(四十四)实战数据验证模块
2010-06-23 19:22 8361 在业务对象上添加验证 添加对程序集【Microso ... -
微软企业库5.0学习笔记(四十五)实战数据验证模块----高级篇
2010-06-24 19:41 9681、添加自定义的提示信息 验证失败的提示信息可以自定义 ... -
面向对象类设计的五大原则(一)单一职责原则Single Responsibility Principle
2010-06-29 15:45 777引言 面向对象类设计,或者说是面向对象设计,有五大原则 ... -
《深入浅出设计模式-中文版》读书笔记 开篇乱弹(一)
2010-07-01 06:42 648oreilly的《Head.First ... -
《深入浅出设计模式-中文版》读书笔记-继承与组合(三)
2010-07-03 16:53 603经过上一次的改造 ... -
《深入浅出设计模式-中文版》读书笔记-观察者模式(四)
2010-07-06 06:34 632今天要接触的是观 ... -
利用attribute实现简单的ORM
2010-07-09 15:27 681我不知道NH的ORM具 ... -
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
2010-07-14 13:02 807题外话 最近已经在努力学习了,学习基本功,学习设计模式 ... -
《深入浅出设计模式-中文版》读书笔记-工厂模式(五)
2010-07-16 12:46 697今天给大家带来的是:工厂模式。 我们在代码中创建一个对 ... -
Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
2010-07-18 21:47 670题外话 又是一本Head.First系列的书,这个系列 ...
相关推荐
**WCF(Windows Communication Foundation...通过这个"**WCF用户名+密码验证Demo**",初学者可以了解WCF服务安全的基础,包括证书的使用和基于用户名/密码的验证。结合源代码分析,将有助于快速上手并应用于实际项目。
3. **编写WCF服务**:在另一个.NET项目中创建WCF服务,定义一个登录方法,该方法接受用户名和密码作为参数,验证后返回结果。 4. **配置WCF服务**:在服务的配置文件(web.config或app.config)中,设置服务行为、...
wcf,用户名,密码,验证,wcf安全,
总的来说,WCF中的UserName消息安全模式结合了证书验证和用户名/密码验证,提供了强大的安全措施。它确保了通信的私密性和完整性,同时也提供了自定义身份验证机制,可以根据特定需求调整验证策略。然而,实施这种...
"在IIS上部署Silverlight+WCF项目教程" 本教程旨在指导用户如何在IIS上部署Silverlight+WCF项目,并解决可能遇到的问题。 首先,需要在IIS上配置好Silverlight+WCF项目的环境。具体来说,需要在IIS中添加以下MIME...
本篇将详细讲解如何在WCF服务中实现数据加密传输以及基于用户名和密码的身份验证。 标题中的"加密传输数据"是指在WCF通信过程中确保数据的保密性,防止未经授权的第三方窃取或篡改信息。这通常通过使用SSL/TLS协议...
在"Silverlight + WCF 数据压缩"这个主题中,我们将探讨如何在Silverlight客户端与WCF服务之间高效地传输数据,通过数据压缩来减少网络带宽消耗。 首先,理解数据压缩的重要性是关键。在网络通信中,如果数据量大,...
Silverlight+WCF配置具体方法 讲解
此外,Silverlight还支持离线应用,这意味着即使在网络不稳定的情况下,用户仍能继续进行基本的数据访问和操作。 WCF则是微软的一种面向服务的架构,用于构建可互操作的分布式系统。在员工管理系统中,WCF作为服务...
【银光+N维拼图游戏:Silverlight与WCF技术的完美融合】 本文将深入探讨一个基于Silverlight和WCF技术构建的n维拼图游戏的实现细节。Silverlight是微软推出的一种富互联网应用程序(RIA)平台,它允许开发者创建...
《银光轻触,WCF流转,LINQ与SQL共舞——深入理解Silverlight+WCF+LinqToSql Demo》 在当今的Web开发领域,Silverlight作为一种强大的富客户端技术,以其丰富的用户界面和交互性受到众多开发者的青睐。而WCF...
"一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)源代码及安装文件" 这个标题表明我们正在讨论一个基于 Silverlight 4 的应用程序,它利用了三个关键的技术:Managed Extensibility Framework ...
在通信过程中,WCF服务使用SOAP协议进行消息交换,Silverlight客户端通过异步调用模式发起请求并处理响应。这种异步调用模式使得用户界面可以保持响应,避免了因等待服务器响应而冻结的问题。 为了确保数据安全,...
windows服务+WCF中间件 windows服务+WCF中间件 windows服务+WCF中间件 windows服务+WCF中间件 windows服务+WCF中间件 windows服务+WCF中间件 windows服务+WCF中间件
8. **安全性与传输优化**:WCF提供了多种安全机制,如用户名/密码验证、证书验证等,确保数据传输的安全。此外,还可以通过压缩、流式传输等方式优化传输效率。 9. **调试与部署**:在开发过程中,WCF配置和...
这使得开发者可以在不熟悉Oracle SQL语法的情况下,利用EF的Linq查询语言进行数据库操作。 **项目实施步骤** 1. **创建数据模型**:在EF中定义实体类,这些类对应于数据库中的表。 2. **配置数据库上下文**:创建...
在这个"silverlight+wcf+linq简单实例"中,我们将深入探讨这三种技术如何协同工作,以实现对服务器数据库的数据操作。 首先,Silverlight是微软开发的一种RIA(Rich Internet Application)技术,它允许开发者创建...
1 安装开发环境 操作系统:Windows 7 专业版 Vs2010:cn_visual_studio_2010_ultimate_x86_dvd_532347.iso这是微软送的一个版本,先前在微软下载...3 建立一个vs2010+silverlight4+wcf的项目 为了少啰嗦,大家看图吧。
silverlight+wcf仓库管理系统源码 仓库源码 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 源码描述: silverlight +...