使用一个登录凭证进行服务

时间:2014-02-03 10:14:53

标签: rest asp.net-web-api identity restful-authentication asp.net-identity

我正在使用Web API开发Rest服务。该服务仅需要一个登录凭证,因为它由第三方开发的应用程序使用。如果我将项目模板与“个人用户帐户”一起使用,我必须运行一个SQL服务器(?),这对于支持单个用户名和密码来说太过分了。如果LocalDB附带VS 2013怎么样? 无法使用“Windows身份验证”,因为该服务是从Internet访问的。

验证的正确方法是什么?是否有Web API附带的“内存”或配置文件提供程序?我知道有Asp.net Identity包,但它使用实体框架作为提供者。有人可以建议吗?

2 个答案:

答案 0 :(得分:1)

您可以为ASP.NET Identity创建自定义商店,它可以是内存或配置文件。 Here is a tutorial on creating a custom store in ASP.NET Identity。我不会把它放在内存中,因为你很可能想要更改密码,这需要重新编译和重新部署。就个人而言,我只会使用SQL Express或SQL Compact,因为它们占用的资源最少,而且重写数据存储看起来像很多工作,在这种情况下几乎没什么好处。

答案 1 :(得分:0)

无论您如何授权呼叫,用户都必须出现在数据库或缓存中以检查所提供用户的有效性。 Microsoft将为您提供基于SQL服务器或其某些产品的解决方案。

如果您想实施自己的用户检查,您可能需要自己处理身份验证。这意味着您必须自己检查HTTP标头并自行拒绝或接受请求。

我的问题是,你为什么要使用一些“内存”提供商?用户必须在某个地方。为什么不用SQL表达?