我在普通登录表单中使用spring security,用户在其中注册,然后输入他们的用户名和密码进行登录。我使用 facebook 登录并使用 google 选项登录,我能够验证用户并最终获取用户的信息,如电子邮件、名字、姓氏等,登录到 fb/google 后,我正在使用 fb/google 用户电子邮件(唯一)作为用户名和系统生成的密码作为登录凭据,以便这些值将自动输入到 Spring Security 登录表单,然后如果我单击提交按钮,他/她将能够登录,然后将进行会话处理像在我的网站上注册的普通用户一样,由 spring security 照顾。
因为,上述所有步骤都是自动化的,除了最后一步,即提交表单我想自动化最后一步也使用 javascript 或 JSP。我尝试在 JSP 中使用 javascript 提交表单,但无法提交
<%
if(Success_login_with_facebook/Success_login_with_google)
{
email = fb_email/google_email;
Sql query to get username and password from db using email;//unique row will be returned
uname_db = username;
uname_pass = password;
out.println("<script>document.forms('login').submit();</script>");
}
%>
<div id="autologin" style="display:none">
<form name="f" id='login' action="<c:url value='j_spring_security_check'/>" method="POST" >
User ID <input size=35 type='text' id="first" name='j_username' value='<%=uname_db %>'/>
Password<input size=35 type='password' name='j_password' value='<%=pass_db %>'>
<input type="hidden" name="_spring_security_remember_me" value=true>
<input style="height:30px" name="submit" type="submit" value="Sign In">
</form>
</div>