转换使用FormsAuthentication的网站使用OWIN Cookie Autentication?

时间:2018-03-20 20:37:05

标签: c# asp.net asp.net-mvc asp.net-mvc-4 owin

我们有一个相当庞大且复杂的网站,目前正在使用ASP.NET / MVC' FormsAuthentication来管理身份验证。

一个复杂因素是该网站无法访问任何数据库,不能用于身份验证,也不能用于任何其他目的。

LoginController post动作调用webservice来执行身份验证,传递用户名/密码,并收回会话令牌。如果身份验证成功,LoginController将调用FormsAuthentication.SetAuthCookie。

与往常一样,所有非匿名允许的端点都设置了[Authorize]属性,如果未设置FormsAuthentication AuthCookie,则会重定向回登录页面。

使用OWIN的Cookie身份验证替换它需要做什么?

我见过的大多数演示都涉及到OWIN的中间件,而不仅仅是cookie身份验证 - 从Entity Framework数据库中提取身份等等。本网站没有数据库,那里不能成为本网站的数据库。

有什么想法吗?

指向博客文章,MS文档等等?

(这是在.NET 4.5中,而不是在.NET Core中。)

1 个答案:

答案 0 :(得分:0)

应该发表评论但缺乏声誉,所以我在这里发帖。

您使用的是哪种身份验证协议?您的用例类似于使用Azure Active Directory对用户进行身份验证。

将Azure AD集成到Web应用程序的

This guide可能是一个很好的起点。它使用OWIN中间件和OpenIdConnect进行身份验证。

您还可以从main developer's page找到更多选项。在“指南”部分下,您可以找到使用不同的身份验证协议,在“参考”部分中,您可以找到代码示例的链接。