我想向现有的 MVC 4 Web 应用程序添加用户身份验证流程,用户将在其中单击包含 URL 令牌的电子邮件中的链接。这应该将他带到应用程序并自动登录。此令牌可以添加到任何现有请求中以允许透明登录。
在框架中添加令牌检查的正确位置是什么?
请。我知道此功能的安全风险。所以请不要分析这个的安全方面。
我想听听这个功能的可能实现
我想向现有的 MVC 4 Web 应用程序添加用户身份验证流程,用户将在其中单击包含 URL 令牌的电子邮件中的链接。这应该将他带到应用程序并自动登录。此令牌可以添加到任何现有请求中以允许透明登录。
在框架中添加令牌检查的正确位置是什么?
请。我知道此功能的安全风险。所以请不要分析这个的安全方面。
我想听听这个功能的可能实现
可能最干净的方法是实现自定义ActionFilterAttribute
并将其添加到过滤器的全局列表中。
就像是:
[Attribute]
public class TokenLoginAttribute : AuthorizeAttribute
{
public overrides void OnAuthorization(AuthorizationContext filterContext)
{
// Perform your authorization / login based on token here
}
}
在App_Start\FilterConfig.cs
:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new TokenLoginAttribute());
}
希望有帮助!