-->

如何在AuthorizeFilter和认证方法引擎盖下工作吗?(How do the Authori

2019-10-19 06:04发布

我想简单地了解如何在引擎盖下的授权过滤器和FormAuthentication.SetAuthCookie工作。 这是阅读上的语言有些书之后,我觉得暧昧的唯一的事情。

我不明白的授权过滤器是如何知道去哪里找。 又是怎么回事的FormsAuthenticationTicket VS FormAuthentication? 而且饼干是最安全的方式,我的意思是我敢肯定,这可以将饼干从浏览器导出并使用它在其他地方..?

Answer 1:

您可能会发现这个问题有帮助。

如果你有兴趣在授权过滤器更详细的工作原理,你可以查看源代码: AuthorizeAttribute

简言之,将Authorize过滤器将检查用户是否已通过检查认证HttpContext.User.Identity.IsAuthenticated财产。 该User属性将在窗体身份验证的情况下被设置在FormsAuthenticationModule。

FormsAuthentication.SetAuthCookie方法创建身份验证的用户票(假设用户提供了正确的凭据),并将其添加到响应的Cookies集合。 或者该模块可以被配置为使用Cookie的身份验证,如果你想,但加密的车票仍与每个HTTP请求发送。 无论哪种方式,客户端(浏览器)需要告知请求被认证服务器的方式。

关于你提到的担忧的安全也有一些想法这个问题。



文章来源: How do the AuthorizeFilter and Authentication methods work under the hood?