嘿,我正在开发一个具有登录对话框的Web应用程序,其工作方式如下:
<form>- 用户/通过AJAX提交这是问题所在:浏览器从不提供通常的"保存此密码?是/从不/不立即"提示它为其他网站提供的.
我尝试使用"autocomplete ='on'" 包装<div>in <form>标签,但这没有任何区别.
是否可以让浏览器提供存储密码而无需重新修改我的登录流程?
谢谢Eric
ps添加到我的问题,我肯定使用存储密码的浏览器,我从来没有点击"永远不会这个网站"...这是一个技术问题,浏览器没有检测到它是一个登录表单,而不是操作员错误:-)
我在用于登录的部分页面中有以下代码...
<div class="container">
<form autocomplete="on" data-ng-submit="checkCredentials()" class="form-signin">
<h2 class="form-signin-heading">Login page</h2>
<label for="email"> <b>User e-mail</b> </label>
<input required autocomplete="on" name="email" type="text" data-ng-model="modelLogin.email" class="input-block-level" placeholder="Email address">
<label for="pass"> <b>Password</b> </label>
<input required autocomplete="on" name="pass" type="password" data-ng-model="modelLogin.password" class="input-block-level" placeholder="Password">
<button style="margin-bottom:1em" class="btn btn-large btn-primary" type="submit">Log in</button>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
...这是我的唯一主页(index.html)中包含的ng:
<body data-ng-controller="controllerLogin">
<div data-ng-include="getMainpageBasedOnLoginStatus()">
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
...与getMainpageBasedOnLoginStatus()函数返回适当的路径要么对泛音/ loginPage.html上面所示或所述的partials/mainApplicationPage.html(我的主要的应用程序的入口点).通过ng-submit完成的checkCredentials()调用执行webservice调用以获取登录成功/失败,并在全局模型变量中进行正确更新 - 以便后续调用getMainpageBasedOnLoginStatus()返回'ok-you-are-登录页面(partials/mainApplicationPage.html).
此登录方案不能被黑客入侵,因为即使客户端代码以某种方式更改为指向主应用程序部分而不是登录部分,服务器端也将无法正常运行(Web服务请求将无法正常运行并返回406错误).
一切都很好 - 它的工作原理.除了...自动填充.
登录/密码字段既不会自动完成,也不会自动填充Chrome 29.在Firefox 23中也是如此:登录/密码字段未自动填充,但登录名(仅登录名,而不是密码名!)是自动填充的 - …