当我创建由不同平台使用的Web API服务时。 Android Applcation,iPhone应用程序和Asp.net MVC应用程序正在使用此服务。但我想认证用户可以使用此服务。我应该在哪里放置认证机制?我应该在哪里管理用户会话?
答案 0 :(得分:0)
您应该只在服务层上编写身份验证机制。成功登录后,您可以在数据库中存储特定用户的deviceid,sessionkey,并且可以借助此存储的会话密钥和服务层的设备ID来验证每个服务请求。这只是一个线索,您必须创建自己的身份验证模块。
答案 1 :(得分:0)
您可以应用多个过滤器进行身份验证。 你可以看看this link
答案 2 :(得分:0)
移动和Web应用程序中使用的所有Web服务必须实现Web服务安全性,否则攻击者或黑客可以访问您的服务并造成损害,有很多关于安全性的文章是文章的链接。
http://www.codeproject.com/Articles/7062/An-introduction-to-Web-Service-Security-using-WSE
答案 3 :(得分: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服务头请求。