@EnableAuthorizationServer
)我寻求的OAuth流如下所示:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors()
.and()
... config ...
.and()
.formLogin()
.loginPage("http://angular-spa-app/login")
.loginProcessingUrl("/login")
.permitAll();
}
当我执行此流程时,我看到对OAUTH/AUTHORIZE?state=...&nonce=...&等等..
发出的第一个请求,然后重定向到http://angulat-spa-app/login
。但当我登录时,Spring无法检测到它是否应该重定向回保存在会话中的OAuth/authorize
url。
进一步深入研究,我发现当发出对OAuth/authorize
的第一个请求时,会将包含参数的完整url保存在会话(httpsessionRequestCache.saveRequest(...)
中。
当登录表单提交并且身份验证成功时,Spring尝试检索保存的请求,以便获得重定向url作为302位置头发送。但当它这样做时,会话为空,因此Spring无法检索任何已保存的请求。这是为什么?我需要修改Spring会话设置来解决这个问题吗?
问题根本不在于Spring Security;是和角形水疗。当从Angular应用程序将跨域发布返回/login时,我需要发送JSESSION_ID cookie。
为此,我创建了HTTPInterceptor
(如下所述):
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor() {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
request = request.clone({
withCredentials: true
});
return next.handle(request);
}
}
withCredentials:true
位是重要部分;这指示浏览器将cookie与XHR请求一起发送。
我想用selenium登录这个网页。我尝试了selenium的find_element_by_,并使用浏览器中的检查元素。但是我无法登录。我在搜索id、名称、类名,这样我就可以用send_keys传递数据,但是没有做到这些。有人能帮助我提供一些代码来将数据推送到所需的字段吗?谢谢。这就是我到目前为止所做的。 在此之后,我试图点击按钮登录使用 但它失败了。它给出了无法找到“登录”的错误。由于默认情况
我已经设计了我自己的登录和注册页面,我想使用。如何使用它们而不是default。是否有任何API我可以调用或可能是我的后端会这样做?我还读到有用于keycloak的spring适配器,我可以使用它们吗?任何链接到任何例子都是好的。 我的第二个问题是,在注册时,我可以在中添加更多的用户详细信息,如地址、dob、性别吗?因为我的注册页面需要这些信息。
而且,再一次,即使键入正确的凭据,正如我在“userDetailsService”方法中指定的那样,我也无法登录,但这次我终于可以在控制台上看到错误消息: 显然我走了,但没有离开这个地方,因为现在我不知道我的代码有什么问题...
记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano
我正在使用selenium在我的C#应用程序中自动登录。然而,我尝试登录的页面具有某种验证码或机器人检测技术,即使这些凭据是正确的,也会导致“不正确的凭据”。手动登录使用相同的凭据。 我尝试过的事情: 为chromeOptions设置用户代理和用户数据目录。 添加了排除参数的启用自动化禁用的信息栏的Chrome是由自动化软件控制 在无头模式下尝试了Chrome、FireFox和IE。 在登录代码中
问题内容: 我开发了一个使用Spring Security的默认登录页面的应用程序。但是我想实现自己的登录页面。我将放置一个login.html而不是一个jsp页面。我想使用JQuery。我检查了许多示例,但未能实现。我是Spring和Spring Security的新手,我使用Spring Security3。我应该遵循哪些步骤? 问题答案: Spring Security中的自定义登录页面有四