当我创建由不同平台使用的 Web API 服务时。Android Applcation、iPhone Application 和 Asp.net MVC 应用程序正在使用此服务。但我希望只有经过身份验证的用户才能使用此服务。我应该将身份验证机制放在哪里?我应该在哪里管理用户会话?
问问题
67 次
4 回答
0
您应该只在服务层上编写身份验证机制。您可以在成功登录后将特定用户的 deviceid、sessionkey 存储在数据库中,并且可以仅在服务层使用此存储的 sessionkey 和设备 ID 来验证每个服务请求。这只是一个线索,您必须制作自己的身份验证模块。
于 2013-09-05T12:09:26.850 回答
0
您可以应用多个过滤器进行身份验证。你可以看看这个链接
于 2013-09-05T14:05:38.497 回答
0
您可以实施 Web 服务 Base64 身份验证来对服务进行身份验证。它很容易实现。
public static String RestHttpSetHeader() throws UnsupportedEncodingException {
String authHeader = null;
if (getProfile() != null) {
String emailPassword = getProfile().getEmail() +":"+ getProfile().getPassword();
byte[] dataBytes = emailPassword.getBytes("UTF-8");
String encoding = Base64.encodeToString(dataBytes, Base64.DEFAULT);
authHeader = "Basic " + encoding;
}
return authHeader;
}
在收到 Base64 令牌后,您将其插入到来自设备的 Web 服务标头请求中。
于 2013-09-05T14:12:47.867 回答
0
在移动和 Web 应用程序中使用的所有 Web 服务都必须实施 Web 服务安全性,否则攻击者或黑客可以访问您的服务并造成损害,这里有很多关于安全性的文章是文章的链接。
http://www.codeproject.com/Articles/7062/An-introduction-to-Web-Service-Security-using-WSE
于 2013-09-05T14:10:43.777 回答