我想向现有的MVC 4 Web应用程序添加用户身份验证流程,用户将在其中单击包含URL令牌的电子邮件中的链接。这应该将他带到应用程序并自动登录。 可以将此令牌添加到任何现有请求以允许透明登录。
在框架中添加令牌检查的正确位置是什么?
请。 我知道此功能的安全风险。所以请不要分析这方面的安全问题。
我会喜欢了解此功能的可能实现
答案 0 :(得分:1)
最简单的方法可能是实现自定义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());
}
希望有所帮助!