【发布时间】:2023-03-17 03:46:01
【问题描述】:
我可以在哪里插入自定义提供程序来设置请求上下文?
我想在“从属”模式下运行 ASP.NET MVC 应用程序,同时逐步从旧系统转换功能。每个请求都有一个 cookie,我想获取 cookie,进行外部调用以将其解析为用户身份,并为请求的其余部分设置该用户身份。
我可能会设置表单身份验证 cookie,或使用 Session,但关于身份验证的真实来源必须是外部设置的 cookie,在每个请求上。
最好的方法是什么?我在哪里插入?我查看了身份验证提供程序和 Authorization 属性,但这些似乎都不适合。
【问题讨论】:
-
可能是您的 ASP.NET MVC 应用程序的 Application_AuthenticateRequest 方法或模块中的 Global.asax。
-
这似乎为时已晚。来自 MSDN:调用此方法以通过 HttpApplication 进行任何身份验证后处理。我需要实际进行身份验证,并创建用户对象。
-
您可以在 AuthenticateRequest 方法中执行的操作。您可以将 HttpContext.Current.User 更新为自定义 Principal 对象
标签: asp.net-mvc authentication