这是NancyFx开源框架中的Basic认证,学习一下!

首先当然是新建一个空的Web,BasicDemo

 

继续在项目中添加Nuget包,记得安装的Nuget包是最新的预发行版

  • Nancy

  • Nancy.Authentication.Basic

  • Nancy.Hosting.Aspnet

之后就往项目中添加Models文件夹和Module文件夹,然后往Models文件夹里面添加UserValidator类

 

 public ClaimsPrincipal Validate(string username,string password)        {            if (username=="Lexan"&&password=="password")            {                return new ClaimsPrincipal(new GenericIdentity(username));            }            //没有认证=>匿名            return null;        }

 

 

继续在Module文件里面添加MainModule类

       public MainModule()         {
            Get("/",Lexan=>"地址栏输入/secure访问Secure页面");         }

继续往Module文件夹里面添加SecureModule类

 public SecureModule() : base("/secure")         {
            this.RequiresAuthentication();             Get("/", args => "Hello " + this.Context.CurrentUser.Identity.Name);         }

然后就在根目录添加BasicBootstrapper类,用来初始化项目的

protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)        {            base.ApplicationStartup(container, pipelines);            pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration(container.Resolve
(),"Lexan"));        }

运行一下写好的项目,登陆账号和密码写在了UserValidator类里面