C# 使用SSL进行表单身份验证-我的应用程序安全吗?

C# 使用SSL进行表单身份验证-我的应用程序安全吗?,c#,authentication,cookies,ssl,encryption,C#,Authentication,Cookies,Ssl,Encryption,最近有人要求我将使用Windows身份验证的现有应用程序的身份验证方法更改为针对Active Directory的表单身份验证 对我来说,新的是只需要在登录页面上使用SSL 通过阅读许多文章,包括,它说在创建身份验证票证时使用加密方法。我的问题是,FormsAuthentication.RedirectFromLoginPage方法不创建加密cookie吗?那么,为什么需要手动创建身份验证票证呢 我一直在看关于如何在http和https之间切换的文章。然而,我的代码需要尽可能少的干扰,所以这可以

最近有人要求我将使用Windows身份验证的现有应用程序的身份验证方法更改为针对Active Directory的表单身份验证

对我来说,新的是只需要在登录页面上使用SSL

  • 通过阅读许多文章,包括,它说在创建身份验证票证时使用加密方法。我的问题是,
    FormsAuthentication.RedirectFromLoginPage
    方法不创建加密cookie吗?那么,为什么需要手动创建身份验证票证呢

  • 我一直在看关于如何在http和https之间切换的文章。然而,我的代码需要尽可能少的干扰,所以这可以很容易地在以后的生产中合并。那么,在web.config文件中使用绝对路径是否正确

    
    

  • 由于应用程序将在http和https之间切换,因此无法使用属性
    requireSSL=true
    。除了加密“cookie”之外,还有什么其他的措施?
  • 让Active Directory连接字符串保持可见是否存在任何风险?这应该加密吗


  • 为什么要在https和http之间切换?如果您有一个有效的证书,那么您也可以对整个站点使用它。您可以对整个站点使用HTTPS。唯一的问题是服务器的工作负载较重,但根据使用情况可能不会太大。@musefan:像facebook这样的公司不会;-)我假设其原因是处理量减少(解密传入数据需要“cpu税”)。编辑我站更正-fb在整个过程中使用https。我不看的时候一定改变了,因为以前只有登录页面是https。@BradChristie,这是100%准确的。通过安装证书,您可以通过更改协议(例如,
    http
    https
    )通过安全通道发送数据,因此在不发送敏感数据时使用
    http
    效率更高。@neoistheone,使用http的问题是,如果您有用户登录,他们的身份验证cookie将以明文形式发送,允许窃听者轻松访问他们的帐户。这就是为什么这么多的服务已经转移到https只。