如何为asp.net mvc和asp.net web.api设计和开发通用的asp.net标识

用户名

我们将为“台式/移动响应网站”和“移动应用”启动一个新的解决方案。两个项目(网站和移动应用程序)都需要访问相同的业务/数据层。

网站的层结构将类似于以下内容:

浏览器-> ASP.NET MVC网站->业务层->数据层->数据库

移动应用的层级结构将如下所示:

智能设备-> ASP.NET Web Api服务层->业务层->数据层->数据库

我们不希望网站使用Web API。

在我们的方案中,我们也不需要与任何社交身份集成。我听说ASP.NET MVC不鼓励使用令牌方法进行安全性(身份验证和授权),并鼓励使用cookie方法。但是,如果我们采用令牌方法,并且在REST服务中明显不鼓励使用cookie,则使用Web Api会容易得多。

虽然可以从新的ASP.NET Identity系统开始,但我们不确定如何在不重写和不支持两种情况的代码的情况下处理两种情况。

基于上述理由,我们如何设计一种适用于我们两种方案(即ASP.NET MVC网站和ASP.NET Web API)的通用安全模式。

巴德里

如果使用OWIN自托管,则可以考虑创建OWIN中间件。如果您使用IIS进行网络托管,则可以创建一个Http模块来进行身份验证,并通过处理authenticate事件来建立身份。可以以这种方式编写Http模块以查找令牌,如果不存在,则返回cookie。通过MVC的cookie方法,我相信您的意思是表单身份验证。这样,FormsAuthenticationModule就起作用了。因此,您的模块只需要意识到这一点并进行良好的配合即可。最终,身份是在Http上下文中建立的,您可以Authorize在MVC和API控制器中使用属性。是一个如何创建用于身份验证的Http模块的示例。在此实现了基本身份验证,但是您可以为令牌修改它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC和WEB API

来自分类Dev

如何为asp.net mvc和Web API实施相同的身份验证机制

来自分类Dev

ASP .NET MVC Web服务和PostRepository

来自分类Dev

MVC 5和ASP.NET标识-实现混乱

来自分类Dev

ASP.NET MVC / Web Api通用授权和身份验证

来自分类Dev

从ASP.NET MVC和移动设备使用ASP.NET Web API

来自分类Dev

ASP.NET MVC和Angularjs一起+ ASP.NET Web API

来自分类Dev

从ASP.NET MVC和移动设备使用ASP.NET Web API

来自分类Dev

架构和 ASP.Net 标识

来自分类Dev

CORS和ASP.Net Web API

来自分类Dev

更新 ASP.NET 标识

来自分类Dev

优化 Web 图像(C# 和 ASP.NET MVC)

来自分类Dev

Angularjs + ASP.NET MVC + ASP.NET Web API

来自分类Dev

ASP.net Web窗体和Asp.net MVC安全

来自分类Dev

混合ASP.NET Web表单和ASP.NET MVC

来自分类Dev

ASP.NET MVC 5和Web API 2 .NET要求

来自分类Dev

如何使用Web API和EF在ASP.NET MVC中创建动态功能

来自分类Dev

如何使用Web API和EF在ASP.NET MVC中创建动态功能

来自分类Dev

用于从asp.net Web API消费数据的asp.net MVC设计模式

来自分类Dev

ASP.net MVC Web API + Android

来自分类Dev

ASP.net MVC Web API + Android

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

ASP.net Web Forms and Asp.net MVC Security

来自分类Dev

如何使 ASP.Net Core Web API 标识在未经授权时返回 401

来自分类Dev

如何为ASP.NET MVC操作生成URL,包括主机名和端口?

来自分类Dev

如何为 Angular 2 和 ASP.NET Core MVC 共享环境变量

来自分类Dev

如何为ASP.NET允许CORS

来自分类Dev

ASP.NET 5和MVC的目的