gpt4 book ai didi

ASP.NET OWIN 自定义 Cookie 身份验证

转载 作者:行者123 更新时间:2023-12-03 14:44:53 25 4
gpt4 key购买 nike

我们正在运行一个经典的 asp web 应用程序,并希望它与新开发的 MVC 应用程序一起工作。我们想在MVC应用程序中使用经典的asp应用程序的身份验证。

这个想法是当用户登录经典的 asp 应用程序时,它会发出一种 auth cookie,cookie 是用我们自己的方法加密的。 Cookie 将包含使用身份。

客户端然后浏览到 MVC 应用程序以及此身份验证 cookie。 MVC 应用程序将检查 cookie 是否存在并对其进行验证。它不会重定向到经典的 asp 登录页面。

所以我想自定义 OWIN cookie 身份验证以使用我自己的身份验证逻辑。我试图实现 CookieAuthenicationProvider 但是我不知道把我的逻辑放在哪里。

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
CookieName = ".classicauth",
CookieSecure = CookieSecureOption.SameAsRequest,
CookieHttpOnly = true,
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = context => {
//?? where I can extract the cookie and validate it??
context.RejectIdentity();
return Task.FromResult<int>(0);
},
OnApplyRedirect = context => {
context.Response.Redirect("classic_asp_login_url");
}
}
});

CookieAuthenticationProvider 有一个 OnValidateIdentity,但它似乎不是提取 cookie 并验证它的正确位置。

谢谢。
杰森。

最佳答案

我还没有在那个特定的上下文中亲自测试过它。但是 CookieManager 对我有用。

OnValidateIdentity = context => {
var cookie = context.Options.CookieManager.GetRequestCookie(context.OwinContext, context.Options.CookieName);
context.RejectIdentity();
return Task.FromResult<int>(0);
},

关于ASP.NET OWIN 自定义 Cookie 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39324847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com