永洪社区

标题: 登陆过期后,默认跳到永洪登陆界面,如何跳到自sso登陆... [打印本页]

作者: yhdata_s0uzXJ1q    时间: 2022-4-14 11:13
标题: 登陆过期后,默认跳到永洪登陆界面,如何跳到自sso登陆...

作者: _贝贝    时间: 2022-4-14 11:20
配置了单点的话默认是不会再登录过期。现在是什么情况下会过期呢
作者: yhdata_s0uzXJ1q    时间: 2022-4-14 11:24
永洪tech-Muse 发表于 2022-4-14 11:20
配置了单点的话默认是不会再登录过期。现在是什么情况下会过期呢

单点登陆过一段时间后, 页面会跳到 永洪登陆页面,  需要清理缓存才能恢复。
作者: _贝贝    时间: 2022-4-14 11:30
报错提示是什么呢  请求超时吗 还是直接就提示的登录过期。使用了nginx负载均衡吗
作者: yhdata_s0uzXJ1q    时间: 2022-4-14 12:03
永洪tech-Muse 发表于 2022-4-14 11:30
报错提示是什么呢  请求超时吗 还是直接就提示的登录过期。使用了nginx负载均衡吗 ...

standardsso.callback.url  的url  返回{"result":"fail"}。
日志是:
-[OTHER:   Delete user: __Anyone__@null]
|-[OTHER:   用户“__Anyone__”被踢出]
-[OTHER:   Delete user: __Anyone__@null]
[OTHER:   用户“__Anyone__”登录过期]
logined failed, err:null, proc:ResProc@344cb7f7]


然后跳到永洪默认登陆界面。

没有跳到standardsso.token.invalid.jumpurl  所指定页面。
作者: _贝贝    时间: 2022-4-14 12:14
yhdata_s0uzXJ1q 发表于 2022-4-14 12:03
standardsso.callback.url  的url  返回{"result":"fail"}。
日志是:
-[OTHER:   Delete user: __Anyone ...

有没有配nginx
频繁的登录过期问题,很可能与nginx的配置有关系,可以检查一些相关的nginx的配置,以及如何保证请求在会话期间始终发送到一台c上。

    #keepalive_timeout  0;
    默认值 75s
    上下文 http server location
    说明 指定了与client的keep-alive连接超时时间,服务器将会在这个时间后关闭连接。服务器在返回数据给用户时,在头header文件中会添加keepalive字段,75s,浏览器在这个时间后能够主动关闭连接。
        
    ip_hash;  #ip_hash技术能够将某个ip 的请求定向到同一台后端web机器中,这样一来这个ip 下的客户端和某个后端 web机器就能建立起稳固的session.
    ip_hash机制能够让某一客户机在相当长的一段时间内只访问固定的后端的某台真实的web服务器,这样会话就会得以保持,在网站页面进行login的时候就不会在后面的web服务器之间跳来跳去了,也不会出现登录一次的网站又提醒重新登录的情况。要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash.假如nginx后端还有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上,办法是用location作一次分流,将需要session的部分请求通过ip_hash分流,剩下的走其它后端去。
        
    或者使用nginx sticky实现基于cookie的负载均衡,前提是浏览器开启支持cookie,参考nginx-modules-nginx-sticky-module,或者使用tengine ,      
    session_sticky;   //tengine支持的请求转发策略,每次会话都会生成唯一cookie,跟机器IP无关,没有ip_hash存在的问题。如果是Tengine请使用此配置。
        
        fail_timeout和max_fails
        这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。fail_timeout默认为10s,max_fails默认为1。就是说,只要某个server失效一次,则在接下来的10s内,就不会分发请求到该server上。
作者: yhdata_s0uzXJ1q    时间: 2022-4-14 12:43
永洪tech-Muse 发表于 2022-4-14 12:14
有没有配nginx
频繁的登录过期问题,很可能与nginx的配置有关系,可以检查一些相关的nginx的配置,以及如 ...

有配置nginx,但是只有一个nginx,没有负载均衡。

作者: yhdata_s0uzXJ1q    时间: 2022-4-14 12:45
standardsso.token.invalid.jumpurl
如果token校验接口成功,但返回的状态不对,如果配置该跳转地址,则跳转到url。


这里的返回状态不对, 是指什么意思,什么算是不对。
作者: _贝贝    时间: 2022-4-14 13:48
yhdata_s0uzXJ1q 发表于 2022-4-14 12:43
有配置nginx,但是只有一个nginx,没有负载均衡。

可以配置一个负载均衡做会话保持 session没有保持会频繁登录过期
作者: _贝贝    时间: 2022-4-14 13:50
yhdata_s0uzXJ1q 发表于 2022-4-14 12:45
standardsso.token.invalid.jumpurl
如果token校验接口成功,但返回的状态不对,如果配置该跳转地址,则跳 ...

不对的场景比较多,参数不合法之类的也都算,没有跳转设置的这个网页可以判断oken校验是成功的。大概率是会话没有保持
作者: yhdata_s0uzXJ1q    时间: 2022-4-14 17:40
刚试了下,配置了单点登陆,但是页面在不操作的情况下,超过secure.session.timeout时间,也会显示"登陆超时,请重新登陆",  就跳到永洪默认页面了。 当前看不是nginx的问题。
作者: _贝贝    时间: 2022-4-14 17:57
本帖最后由 永洪tech-Muse 于 2022-4-14 18:03 编辑

看一下这个配置呢
login.redirect.url=     //登录页面的地址,如未设置则显示产品登录页面,否则未登录就跳转到该配置地址
logout.redirect.url=  // redirect to the defind,logout时到哪个URL

如果是文件系统 在产品安装目录Yonghong/bihome/bi.properties下添加下这个配置呢     重启生效,数据库系统的话 在管理系统--数据库管理--下载bi.properties,修改配置后重新上传 重启生效。

作者: yhdata_s0uzXJ1q    时间: 2022-4-14 19:54
永洪tech-Muse 发表于 2022-4-14 17:57
看一下这个配置呢
login.redirect.url=     //登录页面的地址,如未设置则显示产品登录页面,否则未登录就 ...

试了下,配置login.redirect.url可以跳转到固定的地址。
但是不想跳转到固定的地址, 而希望根据当前url跳转,   比如当前是url1, 跳转到sso.baidu.com/url1,    当前是url2,跳转到sso.baidu.com/url2。 这样
作者: Cesar    时间: 2022-4-14 20:01
yhdata_s0uzXJ1q 发表于 2022-4-14 19:54
试了下,配置login.redirect.url可以跳转到固定的地址。
但是不想跳转到固定的地址, 而希望根据当前url ...

您好,暂不支持
作者: yhdata_s0uzXJ1q    时间: 2022-4-15 12:04
Cesar 发表于 2022-4-14 20:01
您好,暂不支持

是否可以设置登陆不过期,  如果可以设置, 会有什么影响吗
作者: _贝贝    时间: 2022-4-15 13:14
不能设置不过期,并发太高了会影响服务器,非常影响性能
作者: yhdata_s0uzXJ1q    时间: 2022-4-15 14:10
对于其他使用方,使用单点登陆的时候,是怎样解决这个过期的跳转的问题的,  有最佳实践吗?
作者: _贝贝    时间: 2022-4-15 14:36
yhdata_s0uzXJ1q 发表于 2022-4-15 14:10
对于其他使用方,使用单点登陆的时候,是怎样解决这个过期的跳转的问题的,  有最佳实践吗? ...

单点登录是不会过期的,单点登录只是去掉了输入账号密码这一步,过期是由于bi,这个跟单点没有关系的。是不能去设置不过期的,可以尽量时间设置大一点,最好不要超过两个小时

如何更改登录的超时时间

解决:可以通过系统参数中配置secure.session.timeout
作者: yhdata_s0uzXJ1q    时间: 2022-4-18 11:20
永洪tech-Muse 发表于 2022-4-15 14:36
单点登录是不会过期的,单点登录只是去掉了输入账号密码这一步,过期是由于bi,这个跟单点没有关系的。是 ...

过期后,根据login.redirect.url这个配置跳转,  这个跳转是302跳转吗?  这个跳转会经过nginx吗,  是否可以通过proxy_redirect  改写这个跳转路径?
作者: _贝贝    时间: 2022-4-18 11:31
yhdata_s0uzXJ1q 发表于 2022-4-18 11:20
过期后,根据login.redirect.url这个配置跳转,  这个跳转是302跳转吗?  这个跳转会经过nginx吗,  是否 ...

是302跳转,跳转是否经nginx可以自己配置
作者: yhdata_s0uzXJ1q    时间: 2022-4-18 15:18
永洪tech-Muse 发表于 2022-4-18 11:31
是302跳转,跳转是否经nginx可以自己配置

请问有配置案例吗?  对于这个302,我通过nginx的proxy_redirect改写location不生效。
作者: _贝贝    时间: 2022-4-18 17:15
yhdata_s0uzXJ1q 发表于 2022-4-18 15:18
请问有配置案例吗?  对于这个302,我通过nginx的proxy_redirect改写location不生效。 ...

这个暂时没有配置案例哦亲
作者: yhdata_s0uzXJ1q    时间: 2022-4-19 14:51
永洪tech-Muse 发表于 2022-4-18 17:15
这个暂时没有配置案例哦亲

永洪的同学能否支持下这个需求,加个patch。
需求:通过配置参数方式,可以支持登陆过期后,跳到失效页面。  如在   www.yonghong.com/a/过期,可在login.url中配置类似,  sso.com?service=$refer的方式,跳到www.yonghong.com/a/,    $refer = www.yonghong.com/a/
作者: humming    时间: 2022-4-19 14:56
yhdata_s0uzXJ1q 发表于 2022-4-19 14:51
永洪的同学能否支持下这个需求,加个patch。
需求:通过配置参数方式,可以支持登陆过期后,跳到失效页面 ...

配置login.redirect.url可以满足吗?
参考https://www.yonghongtech.com/hel ... =login.redirect.url
作者: yhdata_s0uzXJ1q    时间: 2022-4-19 15:11
humming 发表于 2022-4-19 14:56
配置login.redirect.url可以满足吗?
参考https://www.yonghongtech.com/help/Z-Suite/9.4/ch/biproperti ...

要达到的目的是,在哪个页面超时的,要经过sso后,跳回该页面。
login.redirect.url只能写死一个固定的页面吧?   是否可以配置变量,如refer。
作者: humming    时间: 2022-4-19 17:29
yhdata_s0uzXJ1q 发表于 2022-4-19 15:11
要达到的目的是,在哪个页面超时的,要经过sso后,跳回该页面。
login.redirect.url只能写死一个固定的页 ...

嗯,目前不支持变量




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4