服务使用应用程序的认证

时间:2013-09-05 12:01:57

标签: android asp.net-mvc security service asp.net-web-api

当我创建由不同平台使用的Web API服务时。 Android Applcation,iPhone应用程序和Asp.net MVC应用程序正在使用此服务。但我想认证用户可以使用此服务。我应该在哪里放置认证机制?我应该在哪里管理用户会话?

4 个答案:

答案 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服务头请求。