如何在没有数据库的情况下使用ASP.NET Identity

Lee*_*one 21 asp.net-mvc-5 asp.net-identity

我正在尝试使用MVC 5项目中的新ASP.NET身份实现自定义身份验证.

我有一个用户名和密码,我想用它来限制用户可以通过控制器和视图上的[授权]标签看到的网站页面.(简单)

我正在从FormsAuthentication模型迁移,这就像将凭据放在web.config中一样简单.

因为我只有一个用户名和密码,所以我不想将数据库用作UserStore,而是希望ASP.NET Identity从web.config中的自定义配置部分检索用户名和密码(不要担心那部分).

经过大量搜索后,我找不到不依赖于数据库进行ASP.NET身份验证的代码示例.

所以我正在寻找一个代码示例,在身份验证时,用户可以输入自定义代码来检查web.config的自定义ConfigurationSection中的凭据的用户名和密码.

有人可以指出我正确的方向谢谢.

更新:我已经尝试查看此代码示例,但它甚至没有开箱即用的编译..很糟糕. http://code.msdn.microsoft.com/Simple-Aspnet-Identiy-Core-7475a961

更新:我不想使用FormsAuthentication的原因是我正在编写将安装到Web应用程序中的NuGet包.NuGet包将做的一件事是在web.config中创建一个自定义ConfigurationSection,其中包括(除其他外)一个用户名和密码.我认为这样会更安全,因为它不会改变目标Web应用程序中当前的任何现有FormsAuthentication设置.

更新:我想我已经开始工作了.将很快发布结果.

- 李

Lee*_*one 18

我现在有一个代码的工作副本https://github.com/leeenglestone/ASP.NET-Identity-Without-a-Database

它主要基于Santosh Poojari已经完成的工作

- 李


tra*_*max 2

您不必迁移到 Identity 框架,FormsAuthentication 仍然有效。安德鲁是正确的,使用身份框架在这里没有什么意义,因为它都是关于管理用户的。

但是,如果您坚持使用它,您可以实现自己的UserManagerIUserStore. 一些指导可以在Scott K. Allen 博客文章中找到。请参阅底部的链接 - 实现示例 - 您可以采用其中的一些并根据您的需求进行转换。

我想你的IUserStore会很简单,因为只有一个用户,并且大多数方法都不需要实现。对于所需的(我认为您需要且相关),您需要通过ConfigurationManagerFindUserById到达web.config