如何使用远程API验证用户?

时间:2013-10-02 21:32:52

标签: c# asp.net asp.net-mvc authentication

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

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

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

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

如果无法做到这一点,我可以在global.asax中使用Application_AuthenticateRequest(object sender,EventArgs e)方法吗?或者我是否需要创建自己的IHttpModule?

1 个答案:

答案 0 :(得分:4)

使用FormsAuthentication.SetAuthCookie(model.Username, false);FormsAuthentication.SignOut();完成工作。尽管很多人推荐它,但我从来没有打扰过自定义会员提供商。

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