1
1
如果web服务需要保护,并且我假设它需要保护,因为您当前有一个身份验证头,那么您应该重新考虑使用get而不是ssl,至少对于身份验证部分。至少我会通过ssl将授权请求发布到web服务/应用程序。如果您不想对每个请求提供身份验证,那么您将需要接受回(并在服务中生成)一个授权cookie,使用者可以将其用于后续请求。 我将避免在url中使用身份验证,这正是您希望支持get的原因——如果url可以缓存,那么凭据也将缓存。这会破坏web服务的安全性,因为任何人都可以重用缓存的凭据。 |
2
1
如果客户端位于同一域中,则可以在IIS应用程序中启用集成Windows身份验证。您的应用程序现在只接受经过Windows身份验证的用户。添加您自己的roleprovider以获得更精细、基于角色的粒度。 |
3
0
使用get-only api,我将拥有第一个获取唯一会话id的方法。 例如:get/api?action=auth&username=user&password=hashedPassword 将返回一个16个字符的令牌,该令牌存储在您的一侧,并且您需要在以后的每次调用中使用此唯一令牌。 如果api是在php中完成的,那么可以使用它的php会话处理功能来实现这一点(它具有超时/垃圾收集功能)。在asp.net中也有类似的功能。 它很容易受到重放攻击(有人抓取或猜测会话id),但如果你想要简单的东西,那就是方法。任何非https网站都会以同样的方式受到攻击。您可以将会话ID与用户的IP地址绑定,以获得额外的安全性。 |
4
0
如果您使用的是wcf,则可以在内置的安全机制上构建。如果您不想使用标准框架来实现安全性,那么您很可能会通过默默无闻来实现安全性。 |
5
0
类似于thomas eyde的回答:您可以使用像siteminder这样的单一登录系统来保护url。调用者请求需要包含一个令牌,该令牌通常存储在cookie中,但可以添加到查询字符串中。 如果不使用ssl,任何sso或web服务管理平台都会故意使身份验证变得困难。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |