【发布时间】:2014-08-28 07:34:39
【问题描述】:
我正在尝试在 MVC 5 项目中使用新的 ASP.NET 标识来实现自定义身份验证。
我有一个单一用户名和密码,我想用它来限制用户可以通过控制器和视图上的 [Authorize] 标签查看网站的哪些页面。 (简单)
我正在从 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 设置。
更新:我想我已经成功了。将很快发布调查结果。
--李
【问题讨论】:
-
ASP.NET MVC
[Authorize]属性可以与 FormsAuthentication 一起使用;您不需要使用 ASP.NET Identity,实际上这样做没有任何意义。您是否在使[Authorize]属性与 FormsAuthentication 过程一起工作时遇到问题,或者是否有其他原因您不想再使用 FormsAuthentication? -
嗨,所以我最初使用 FormsAuthentication 并且这样做没有问题。但是我想使用新的 Identity 东西,因为我正在编写一个 NuGet 包,其代码在运行时需要它自己的凭据,我安装 NuGet 包时,不想通过将我自己的 FormsAuthentication 设置插入 web.config 来干扰任何可能的现有 FormsAuthentication 设置。
标签: asp.net-mvc-5 asp.net-identity