Asp.net mvc 在实现web服务时使用主登录用户名和密码是否被认为是安全的
我正在开发一个asp.NETMVC-4Web应用程序,并且我已经开始实现一些web服务,这些服务提供有关我的站点的统计信息。但为了确保只有经过授权和验证的使用者才能调用和使用web服务,我考虑为每个使用者定义一个主登录用户名和密码,当使用者发送web服务请求时,他应该在web服务调用中包含这些主登录用户名和密码(存储为哈希值) 例如,从我的网站调用特定web服务的web服务链接如下所示:-Asp.net mvc 在实现web服务时使用主登录用户名和密码是否被认为是安全的,asp.net-mvc,asp.net-mvc-3,web-services,security,Asp.net Mvc,Asp.net Mvc 3,Web Services,Security,我正在开发一个asp.NETMVC-4Web应用程序,并且我已经开始实现一些web服务,这些服务提供有关我的站点的统计信息。但为了确保只有经过授权和验证的使用者才能调用和使用web服务,我考虑为每个使用者定义一个主登录用户名和密码,当使用者发送web服务请求时,他应该在web服务调用中包含这些主登录用户名和密码(存储为哈希值) 例如,从我的网站调用特定web服务的web服务链接如下所示:- /web/json/statistic/getsummaryinfo/areacode?j_usernam
/web/json/statistic/getsummaryinfo/areacode?j_username=masterusername&hash=D012B772672A55A0B561EAA53CA7734E
所以我的问题是,我所采用的方法是否能为我的web服务和消费者提供安全的解决方案?或者我的方法存在我不知道的安全漏洞?
::编辑::
我正在使用WebAPI控制器在asp.net mvc-4中实现web服务**
致以最诚挚的问候有几种方法可以确保一切安全
一个主用户名和哈希密码对我来说很弱,所以我会强烈考虑至少看看别人是怎么做的。
我不认为你的方法是安全的。如果我可以在网上监听并缓存请求,我将拥有服务的登录名和密码。密码是否被散列也没有关系。我喜欢第三点。在Eli Gassert的回答中。它听起来非常有用,而且重量很轻,您不会公开密码,因为它在请求中的“某处”散列了 谢谢你的回复,只是补充我原来的问题;我不需要其他工具来构建web服务,因为我正在使用webapi控制器在我的asp.net、vc-4 web应用程序中实现web服务。但是,如果我使用https,那么我的方法会是安全的吗?只有当数据在网络上传输时,外人才能偷看数据。如果任何人“看到”其他任何人的请求(预传输),将很容易模拟该用户。这些请求是否始终是服务器到服务器的,而从来没有任何面向客户端的远程请求?他们使用自己的用户名和密码与您建议的“主”用户名/密码有什么区别?@Eli Gasset。您提到“他们使用自己的用户名和密码与您建议的“主”用户名/密码有什么区别?”。不同之处在于,我的asp.net向其他应用程序提供web服务,因此我不知道它们的用户名和密码,因此我设置了主登录用户名和密码,以便在每次web服务请求时发送。