在ASP.net金融应用程序中保护WCF服务

在ASP.net金融应用程序中保护WCF服务,asp.net,wcf,asp.net-mvc-4,authentication,Asp.net,Wcf,Asp.net Mvc 4,Authentication,我有一个带有WCF服务的MVC4 ASP.net金融应用程序。目前的情况还不够安全,我需要你的帮助 目前的情况是: 用户使用登录表单登录,我使用包含用户ID和密码的JSON对象将其登录详细信息发送到WCF服务: 这将返回一个带有true或false的JSON对象 如果是真的,我使用ASP函数 FormsAuthentication.SetAuthCookie(loginModel.UserID, loginModel.RememberMe); 设置授权cookies以便以后使用 当用户添加新事

我有一个带有WCF服务的MVC4 ASP.net金融应用程序。目前的情况还不够安全,我需要你的帮助

目前的情况是:

用户使用登录表单登录,我使用包含用户ID和密码的JSON对象将其登录详细信息发送到WCF服务:

这将返回一个带有true或false的JSON对象

如果是真的,我使用ASP函数

FormsAuthentication.SetAuthCookie(loginModel.UserID, loginModel.RememberMe);
设置授权cookies以便以后使用

当用户添加新事务时,我会将包含事务详细信息的JSON对象发送到:

这里我相信,如果用户没有登录,MVC控制器将不允许用户访问事务页面

问题是,现在任何人都可以潜入并添加交易,而无需输入密码!,使用URL:

我现在需要做的是确保WCF服务本身的安全,但我不知道如何做到这一点,而不让用户在每次添加新事务时输入用户名和密码!,那么,正确的方法是什么呢


提前感谢。

MVC 4的控制器通常使用MemberShipProvider进行身份验证,使用RoleProvider进行授权。因此,您的WCF服务可能会共享提供商

对于身份验证,您不需要在WCF代码中执行任何操作。对于授权,可以方便地修饰各自的操作实现函数,而不是使用定义了角色名的PrincipalPermissionAttribute接口。其余部分将在配置和运行时完成

有关更多详细信息,只需搜索membershipprovider wcf,您将在MSDN、CodeProject和StackOverflow中找到许多文章/教程


请注意,在MVC 5中,如果您将要迁移到MVC5,默认情况下将使用Identity 2.0,默认情况下,MembershipProvider和RoleProvider将不会是他们的。不过,您的WCF代码应该保持不变,只有ServiceModel下的某些元素需要适应新的自定义身份验证和授权,客户端代码也应该保持不变,不需要更改配置。

获取一些专业帮助。尤其是密码专家。我想说的是:如果这是一个严肃的金融应用程序,而你不以最先进的方式解决这个问题,你会遇到一些严重的法律问题。谢谢你,玛丽,这是给我的,一个学习应用程序。但我不知道正确的方法,我也找不到一个有用的教程来做到这一点。如果你能指导我,请做。我建议你从这开始,并阅读很多关于这方面的内容。谢谢安迪,但我有一个问题。如果我在WCF中使用ASP MemberShipProvider,我是否会被限制仅与ASP一起使用WCF?或者我可以将它与其他东西一起使用,比如Android应用程序。例如,提供者是服务器端的实现,包括运行在Android上的客户端都不知道。换句话说,只要客户端请求包含凭据,它们就不应该关心WCF、ASP、MVC或.NET。比方说,如果绑定是http或https,则传输是嵌入凭据的SOAP。SOAP是平台中立/独立的。