首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用api/ ASP.NET请求实现验证用户身份的ASP.NET MVC登录

使用api/ ASP.NET请求实现验证用户身份的ASP.NET MVC登录
EN

Stack Overflow用户
提问于 2017-02-02 09:11:29
回答 2查看 110关注 0票数 1

背景

我的任务是为我的客户构建一个门户,为他们提供访问有关其帐户、费用/余额、消息等信息的途径。客户信息通过我的客户财务软件进行管理,并通过API公开。所有CRUD操作都通过这个API执行。我实现了一个类,它构建并执行每个web请求,反序列化和处理请求响应,并将结果返回给MVC Controller,后者随后相应地更新UI。

问题

我目前面临的问题是实现安全登录。我计划使用身份验证客户的帐户在我的客户财务软件。问题是必须通过API而不是数据库进行身份验证。API将返回附加到每个后续请求的令牌。到目前为止,我看过的所有示例都使用数据库对用户进行身份验证。如何设置标识并将其配置为使用API而不是数据库作为数据数据源。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-02 11:22:41

ASP.NET恒等/身份服务器路线是最好的选择,但如果你想.这里还有另一种选择

您可以获取令牌并将其存储在表单Cookie中,并在每个请求中验证/拉动用户信息。

//将令牌添加到响应cookie中

代码语言:javascript
复制
public ActionResult Login(string username, string password)
{
    var token = _api.Authenticate(username, password);
    //not only token you could store any user information (Name), you have to serialize it 

    var ticket = new FormsAuthenticationTicket(1, email, DateTime.UtcNow, DateTime.UtcNow.AddHours(1), false, token, _formsAuthentication.FormsCookiePath);

    var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))
            {
                Path = FormsAuthentication.FormsCookiePath,
                Secure = false,
                HttpOnly = false,
                Domain = null,
                Expires = DateTime.UtcNow.AddHours(1)
            };

    Response.Cookies.Add(cookie);
}

//从HttpContext获取令牌信息

代码语言:javascript
复制
var authCookie = HttpContext.Current.User.Identity as FormsIdentity;

var token = authCookie.Ticket.UserData

if(authCookie.IsAuthenticated)
{
    // do something....
}

将此添加到web.config

代码语言:javascript
复制
<system.web>
    <authentication mode="Forms"/>
</system.web>
票数 0
EN

Stack Overflow用户

发布于 2017-02-02 10:32:36

参考来自用于ASP.NET标识的自定义存储提供程序概述的文档

ASP.NET标识是一个可扩展的系统,它允许您创建自己的存储提供程序并将其插入应用程序中,而无需重新工作应用程序。

您可以实现您自己的提供者,它与web对话,而不是直接与数据库对话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41998168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档