我有一个MVC网站,该网站使用API来验证用户身份,因此当用户尝试登录时,我的服务器会将登录信息重定向到我的api服务器,以验证登录是否成功。如果是这样,则用户可以输入网站的“私人”部分。
我要做的就是用API验证用户是否在应用程序中注册,以及用户是哪种类型的用户(管理员或普通用户)。根据结果,是否允许我们查看某些页面。
我想知道如何做到这一点,希望您能为我澄清一些事情。
我的第一个选择是使用表单身份验证及其基础结构,仅更改服务器检查凭据的方式(使用API而不是数据库进行验证)。那可能吗?
如果无法做到这一点,是否可以在global.asax中使用Application_AuthenticateRequest(object sender,EventArgs e)方法,还是需要创建自己的IHttpModule?
最佳答案
使用FormsAuthentication.SetAuthCookie(model.Username, false);
和FormsAuthentication.SignOut();
完成工作。即使很多人推荐它,我也不必为自定义成员资格提供程序而烦恼。
这个问题的最高答案涵盖了它MVC ASP.NET - Manually authorize someone and persist the authorization via Forms Authentication