2011-09-28 75 views
0

我使用WCF Rest服务在JavaScript(Sencha)/ HTML5中处理移动Web应用程序,该服务需要使用身份验证来从定制(MySQL)数据库验证用户以便自定义在用户会话期间的服务响应。用于Javascript(Sencha)网络应用程序的WCF身份验证

我搜索一下WCF认证,建立这么多的方法是我'真的失去了找到回答我约束的最好方式......

我真的能认证来自WCF web服务我的用户(与他用户名和密码),然后保留一个令牌或一个cookie或任何可用于下面的请求,以识别我的用户,并根据该用户作出我的回应?

在此先感谢您的帮助!

回答

0

许多认识可以通过许多方式完成。用户名/密码,证书等,这实际上取决于您的要求。

例如, 如果您有一个处理用户财务信息的移动应用程序(例如银行账户),那么我将同时使用用户凭证和X509Certificates。

如果您有一个面向公众的应用程序,那么您只需使用证书即可(仅客户端证书)。

如果您有B2B应用程序(在这种情况下我会怀疑),那么您可以使用Asymantic证书(客户端和服务器),在其中创建客户端和服务器证书(X509)并提供给客户端并让客户端将其手动安装在他们的客户端设备上。

对于最简单的senario,您可以尝试使用用户名和密码开始。因此,您的客户端应用程序将使用用户名/密码与服务器上的WCF服务进行身份验证。 Follwing我给你一个很好的起点 http://msdn.microsoft.com/en-us/library/ms733131.aspx http://www.codeproject.com/KB/WCF/CustomUserNamePassAuth2.aspx

+0

好吧,我已经找到这样的页面,我想知道,如果那样的解决方案将与JavaScript客户端工作,因为我发现每个样本(和你也)显示.net客户端样本... 我如何设置凭据(用户名和密码)在我的javascript(sencha)? Web服务如何在下列请求中重新构建我的用户? – Chaaarly

+0

通常,您不需要在JavaScript中执行此操作。这是由.NET对象模型处理的。因此,您可以在web.config(或app.config)中指定凭据,然后由移动应用程序代码使用(不是JavaScript,而是用于例如C#或VB的某种可编译代码)。你的JavaScript将使用处理程序向这个Web服务发出请求,它不会对WCF的管道产生影响。 – daehaai

+0

对不起,但我真的不明白这将如何工作。你的意思是我需要首先使用ASP.net表单验证我的用户吗? 但之后,我对WS的请求将由我的sencha代理发送。那么,如何,当我将在我的WS中收到请求时,我将知道哪个用户已通过身份验证,以便个性化我的回复? – Chaaarly

相关问题