2012-09-15 36 views
0

我希望在asp.net网站中使用表单身份验证,但没有特定的登录页面。 相反,我想让我的用户通过屏幕右上角的DIV部分登录。此外,我希望这个DIV部分将使用SSL。asp.net不使用登录页面使用SSL进行身份验证

我对实现的建议是: 1.创建一个login.aspx页面,其中只包含带有Form标签的div元素。 2.在网站的每个页面上(甚至可能在一个母版页中),创建一个包含login.aspx页面的IFrame。 3.如果用户执行登录 - 在login.aspx页面显示“Hi username”。否则,显示登录凭据文本框。

此建议使用特定的login.aspx页面,但它由IFrame和Master页面伪装。我认为这个建议很有创意,我想不出为什么它不起作用的原因。在我尝试之前,这是要走的路吗?有人可以提出另一种解决方案

在此先感谢。

+0

找到了答案 - http://stackoverflow.com/questions/96164/partial-site-ssl-using-asp-net-login-control ...它类似于我的建议... – lionheart

回答

0

这是一个不存在的问题的复杂解决方案。

所有你需要做的就是使用登录服务器控件,并编辑模板以适应任何你想要的。将其放置在主页面中,并将其挂起。为了增加好处,您可以编写一些代码来检测用户是否已登录,并且如果隐藏登录控件并显示用户名称。

或者,您可以将登录控件放入用户控件中,以封装此功能。

另一种选择是编写自己的Login控件来完成此操作(这并不困难)。

+0

感谢您的回复。我有两个问题,但: *我宁愿只有登录控制将使用SSL,而不是整个页面,是否有可能根据您的解决方案? *在web.config的loginURL属性中,为了与您的解决方案一致,我该写些什么? – lionheart

+0

@lionheart - 如果它所在的页面不是ssl,那么将登录url设为ssl是不安全的。原因是,如果登录表单包含的页面(即使它在iframe中)未加密,那么您不能信任页面本身,因为攻击者可能会通过中间人攻击中的某个人侵犯父页面并提供一个虚假的登录网址。此外,如果您的ssl仅在iframe或表单操作中,那么最终用户无法验证证书,因此最终用户只会看到不安全的页面。 –

+0

@lionheart - 阅读此以获取更多信息http://jlorenzen.blogspot.com/2009/11/preventing-insecure-login-pages.html –

相关问题