Asp.net mvc 如何在ASP.NET MVC控制器中获取标识密码选项

Asp.net mvc 如何在ASP.NET MVC控制器中获取标识密码选项,asp.net-mvc,asp.net-identity,asp.net-core-mvc,Asp.net Mvc,Asp.net Identity,Asp.net Core Mvc,我想从MVC控制器读取在Startup.cs中配置的标识密码选项。我的PasswordOptions配置如下: services.AddIdentity<ApplicationUser, IdentityRole>(config => { config.Password.RequireDigit = true; config.Password.RequiredLength = 8; config.Password.RequireN

我想从MVC
控制器
读取在
Startup.cs
中配置的标识
密码选项
。我的
PasswordOptions
配置如下:

services.AddIdentity<ApplicationUser, IdentityRole>(config => {
        config.Password.RequireDigit = true;
        config.Password.RequiredLength = 8;
        config.Password.RequireNonAlphanumeric = true;
});
 public class MyController : Controller
 {
     private readonly IOptions<IdentityOptions> _identityOptions;
     public MyContoller(IOptions<IdentityOptions> identityOptions)
     {
         _identityOptions=identityOptions?.Value ?? new IdentityOptions();         
     }

     public MyAction()
     {
         var length=_identityOptions.Value.Password.RequiredLength;
     }
 }
services.AddIdentity(配置=>{
config.Password.RequireDigit=true;
config.Password.RequiredLength=8;
config.Password.RequireNonAlphanumeric=true;
});
然后如何读取
控制器
或应用程序其他地方的
RequireDigit
密码长度
RequireNonAlphanumeric
属性


使用ASP.NET Core 1.0.1.

只需将
IOptions
接口注入任何类或控制器的构造函数,如下所示:

services.AddIdentity<ApplicationUser, IdentityRole>(config => {
        config.Password.RequireDigit = true;
        config.Password.RequiredLength = 8;
        config.Password.RequireNonAlphanumeric = true;
});
 public class MyController : Controller
 {
     private readonly IOptions<IdentityOptions> _identityOptions;
     public MyContoller(IOptions<IdentityOptions> identityOptions)
     {
         _identityOptions=identityOptions?.Value ?? new IdentityOptions();         
     }

     public MyAction()
     {
         var length=_identityOptions.Value.Password.RequiredLength;
     }
 }
公共类MyController:Controller
{
私有只读IOptions _identityOptions;
公共MyContoller(IOptions identityOptions)
{
_identityOptions=identityOptions?.Value??新identityOptions();
}
公共行动()
{
变量长度=_identityOptions.Value.Password.RequiredLength;
}
}

你不能,如果你想知道应用程序中其他地方的这些值,以便在验证器或屏幕信息中显示,那么我建议你将这些值存储在配置文件中,并让你的密码选项从那里以及你可能想使用这些值的任何其他地方检索这些值。啊,识别选项是我一直在寻找的。谢谢