我开始为Nancy编写一个LoginModule,但是想到我可能需要以不同的方式执行身份验证。在南希有没有可以接受的认证方式?我现在正在计划两个项目:web和json服务。我需要两个身份验证。我应该如何处理Nancy的身份验证?
回答
正如史蒂文写道,南希支持基本和形式auth开箱即用。看看这两个演示应用程序,看看如何做到每个:https://github.com/NancyFx/Nancy/tree/master/samples/Nancy.Demo.Authentication.Forms和https://github.com/NancyFx/Nancy/tree/master/samples/Nancy.Demo.Authentication.Basic
从这里这些演示的第二个是需要一个模块AUTH:
namespace Nancy.Demo.Authentication.Forms
{
using Nancy;
using Nancy.Demo.Authentication.Forms.Models;
using Nancy.Security;
public class SecureModule : NancyModule
{
public SecureModule() : base("/secure")
{
this.RequiresAuthentication();
Get["/"] = x => {
var model = new UserModel(Context.CurrentUser.UserName);
return View["secure.cshtml", model];
};
}
}
}
和设置形式的引导程序代码段AUTH在请求管道:
protected override void RequestStartup(TinyIoCContainer requestContainer, IPipelines pipelines, NancyContext context)
{
// At request startup we modify the request pipelines to
// include forms authentication - passing in our now request
// scoped user name mapper.
//
// The pipelines passed in here are specific to this request,
// so we can add/remove/update items in them as we please.
var formsAuthConfiguration =
new FormsAuthenticationConfiguration()
{
RedirectUrl = "~/login",
UserMapper = requestContainer.Resolve<IUserMapper>(),
};
FormsAuthentication.Enable(pipelines, formsAuthConfiguration);
}
此答案适用于由Nancy提供支持的网站。对于一项服务,Nancy仍然缺少一些东西。我已经提交了一个包含一个新的StatelessAuthentication片断的请求(https://github.com/NancyFx/Nancy/pull/650#issuecomment-6416528)。南希(至少对我来说)是一种非常棒的网络或服务提供商技术。 –
@ByronSommardahl我看到你的拉请求现在是南希的一部分。太好了! –
我创建了一个例子形成与南希用户管理身份验证的Web应用程序为我自己的学习。如果你想玩它,它在Github上。
- 1. 与Nancy的OpenID身份验证
- 2. Owin&Nancy的Oauth身份验证
- 3. RestKit - 处理身份验证
- 4. 如何处理ASP.NET身份验证
- 5. 如何处理多个身份验证
- 6. 处理Dropbox身份验证响应
- 7. 如何处理android应用程序中的域身份验证?
- 8. 身份验证管理器中的交换机身份验证处理程序
- 9. 如何在Angular JS应用程序中处理身份验证
- 10. 我应该如何将身份验证添加到swashbuckle?
- 11. 在Okhttp中处理身份验证
- 12. Python身份验证和HTTP cookie处理
- 13. 使用HttpWebRequest处理身份验证(.NET)
- 14. 基本身份验证URL处理
- 15. 处理身份验证错误
- 16. AppEngine WebService身份验证处理
- 17. 在iOS中处理http身份验证
- 18. curl身份验证头处理
- 19. 处理RestKit身份验证挑战
- 20. 使用Windows身份验证的简单身份验证代理
- 21. 身份验证请求事件处理程序 - 自定义身份验证IIS
- 22. 我应该用什么来代替身份验证的用户在我的.cshtml与窗体身份验证
- 23. 没有身份验证处理程序配置为验证该方案:Microsoft.AspNet.Identity.External
- 24. 如何使用Selenium WebDriver处理HtmlUnitDriver的身份验证?
- 25. 如何检查同步处理程序中的身份验证?
- 26. 如何处理Python上的异常社交身份验证
- 27. 如何处理PHP REST Web服务中的身份验证?
- 28. 如何处理Ruby API封装的身份验证?
- 29. 如何处理IOS中的用户身份验证持久性?
- 30. 如何处理Unity上的Firebase身份验证错误
不能确定什么你问 - 你到底在写什么是“以不同的方式”?开箱即用支持表单身份验证和基本身份验证。 –
那么,对于南希的网站来说,表单效果很好。对于我的json服务,我写了自己的身份验证部分,在每次请求时检查api键。 –