2

我有一个使用 API 对用户进行身份验证的 MVC 网站,因此当用户尝试登录时,我的服务器会将登录信息重定向到我的 api 服务器,以验证登录是否成功。如果是,用户可以进入网站的“私人”部分。

我要做的就是使用 API 验证用户是否在应用程序中注册以及它是哪种类型的用户(管理员或普通用户)。根据结果​​,我们将被允许或不允许查看某些页面。

我想知道如何做到这一点,我希望你能为我澄清一些事情。

我的第一个选择是使用 Forms 身份验证及其基础架构,只需更改服务器检查凭据的方式(使用 API 而不是 DB 进行验证)。那可能吗?

如果这不可能,我可以在 global.asax 中使用方法 Application_AuthenticateRequest(object sender, EventArgs e) 还是需要创建自己的 IHttpModule?

4

1 回答 1

4

使用FormsAuthentication.SetAuthCookie(model.Username, false);FormsAuthentication.SignOut();完成工作。即使很多人推荐它,我也不必为自定义会员提供程序而烦恼。

这个问题的最佳答案涵盖了它MVC ASP.NET - Manually authorize someone and persist the authorization via Forms Authentication

于 2013-10-02T21:45:35.677 回答