asp.net-mvc – Microsoft MVC 4,APIController和适当的RESTful登录Web服务

我使用Microsoft ASP.NET MVC 4 ApiController制作了一个简单的RESTful Web服务(目前仅限GET).

现在我正在寻找实现服务授权系统的正确方法.我知道我不想使用内置的FormsAuthentication,因为我不想为使用我的WS的所有应用程序提供唯一的登录页面;此外,它打破了RESTful范例,强制重定向,而不是通过正确的401状态代码通知客户端.

所以我已禁用FormsAuthentication从web.config删除以下行:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

添加以下内容

<modules runAllManagedModulesForAllRequests="true">
    <remove name="FormsAuthentication" />
</modules>

我已经有一个用于管理用户登录的ApiController,它基本上会根据我的数据库检查凭据,如果凭据无效则返回用户或401.

我已经读过我必须实现成员资格和授权API,但我发现没有什么可以帮助我从头开始.
你有什么想法?我是否需要在数据库上管理cookie和authcodes,或者是否有与FormsAuthentication类似的类为我做的?

解决方法

您可以编写一个 custom message handler来处理身份验证.多米尼克·拜尔(Dominick Baier)写了优秀的 series of blog posts,深入研究细节.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....