我想简单地了解如何在引擎盖下的授权过滤器和FormAuthentication.SetAuthCookie工作。 这是阅读上的语言有些书之后,我觉得暧昧的唯一的事情。
我不明白的授权过滤器是如何知道去哪里找。 又是怎么回事的FormsAuthenticationTicket VS FormAuthentication? 而且饼干是最安全的方式,我的意思是我敢肯定,这可以将饼干从浏览器导出并使用它在其他地方..?
我想简单地了解如何在引擎盖下的授权过滤器和FormAuthentication.SetAuthCookie工作。 这是阅读上的语言有些书之后,我觉得暧昧的唯一的事情。
我不明白的授权过滤器是如何知道去哪里找。 又是怎么回事的FormsAuthenticationTicket VS FormAuthentication? 而且饼干是最安全的方式,我的意思是我敢肯定,这可以将饼干从浏览器导出并使用它在其他地方..?
您可能会发现这个问题有帮助。
如果你有兴趣在授权过滤器更详细的工作原理,你可以查看源代码: AuthorizeAttribute
简言之,将Authorize
过滤器将检查用户是否已通过检查认证HttpContext.User.Identity.IsAuthenticated
财产。 该User
属性将在窗体身份验证的情况下被设置在FormsAuthenticationModule。
该FormsAuthentication.SetAuthCookie
方法创建身份验证的用户票(假设用户提供了正确的凭据),并将其添加到响应的Cookies集合。 或者该模块可以被配置为使用Cookie的身份验证,如果你想,但加密的车票仍与每个HTTP请求发送。 无论哪种方式,客户端(浏览器)需要告知请求被认证服务器的方式。
关于你提到的担忧的安全也有一些想法这个问题。