vos*_*d01 6 .net c# asp.net authentication owin
我正在使用自托管的OWIN应用程序,并试图找出如何要求所有请求(或任意请求)的身份验证/授权.
管道中的一些单独组件有自己的授权工具(例如WebAPI,SignalR,Nancy),但是当我想限制所有内容时,这似乎有点多余.此外,某些中间件没有授权支持(例如Microsoft.Owin.StaticFiles).
如果我的OWIN Startup看起来像这样:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.RequireSsl();
app.UseCookieAuthentication(new CookieAuthenticationOptions());
//...
app.UseGoogleAuthentication();
// ** Need to add something that restricts access **
app.UseDirectoryBrowser();
}
}
Run Code Online (Sandbox Code Playgroud)
在提供目录浏览器之前,如何要求用户进行身份验证(必要时重定向)?(目录浏览器可以任意为其他OWIN组件.)
Tra*_*her 23
将它放在您的auth中间件和要保护的组件之间.它将检查以确保每个请求都经过身份验证.
app.Use(async (context, next) =>
{
var user = context.Authentication.User;
if (user == null || user.Identity == null || !user.Identity.IsAuthenticated)
{
context.Authentication.Challenge();
return;
}
await next();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3193 次 |
| 最近记录: |