如何使用weblogic配置单点登陆
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用weblogic配置单点登陆相关的知识,希望对你有一定的参考价值。
参考技术A 在weblogic中,创建好server后,启动server,在这介绍两种方式第一种方法比较简单
在domain的目录下,用starit startManagerWeblogicNaNd Server-0来启动,
这块主要是注意要找到路径。
第二种方法比较复杂
1.创建一个machine,类似虚拟机器(在这就不演示创建的过程,很简单)
2.把server添加到machine,如下图
首先进入machine页面,双击machine,找到machine中的配置-》服务器
然后添加选择需要启动的server,一步一步添加完成,
3.然后在
D:\soft\weblogic\weblogic92\server\bin路径下, Start startNodeManage 127.0.0.1 5556 启动,注意路径,ip以及端口号的变化,
这块需要在D:\soft\weblogic\weblogic92\common\nodemanager 这个路径下添加一个nodemanager.hosts的文件。里面写上对应的ip。不然它启动时server不识别的。
4.启动好machine后,然后进入Server ---》控制中启动server即可。
怎样实现weblogic在启动时自动加载用户名和密码,不用我们每次启动都得手动输入。
在D:\soft\weblogic\user_projects\domains\base_domain\servers\Server-0\security目录下,创建一个boot.properties文件,里面写上用户名和密码就可可以了,这样写username=weblogic 换行然后写password=weblogic,虽然写的明文,但是在weblogic加载一次后,自动加密。
其中base_domain是domain的名字 Server-0 是server的名字sercurity是需要手动创建的文件夹
其中security目录和boot.properties文件在开发模式下了会自动创建,在产品模式下需要我们手动的创建。本回答被提问者采纳
单点登陆TOKEN的处理
参考技术AAPI接口的安全性主要是为了保证数据不会被篡改和重复调用,实现方案主要围绕Token、时间戳和Sign三个机制展开设计。
1. Token授权机制
用户使用用户名密码登录后服务器给客户端返回一个Token(必须要保证唯一,可以结合UUID和本地设备标示),并将Token-UserId以键值对的形式存放在缓存服务器中(我们是使用Redis),并要设置失效时间。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。Token是客户端访问服务端的凭证。
2. 时间戳超时机制
用户每次请求都带上当前时间的时间戳timestamp,服务端接收到timestamp后跟当前时间进行比对,如果时间差大于一定时间(比如30秒),则认为该请求失效。时间戳超时机制是防御重复调用和爬取数据的有效手段。
当然这里需要注意的地方是保证客户端和服务端的“当前时间”是一致的,我们采取的对齐方式是客户端第一次连接服务端时请求一个接口获取服务端的当前时间A1,再和客户端的当前时间B1做一个差异化计算(A1-B1=AB),得出差异值AB,客户端再后面的请求中都是传B1+AB给到服务端。
3. API签名机制
将“请求的API参数”+“时间戳”+“盐”进行MD5算法加密,加密后的数据就是本次请求的签名signature,服务端接收到请求后以同样的算法得到签名,并跟当前的签名进行比对,如果不一样,说明参数被更改过,直接返回错误标识。签名机制保证了数据不会被篡改。
4. 注意事项
5. 安全保障总结
在以上机制下,
如果有人劫持了请求,并对请求中的参数进行了修改,签名就无法通过;
如果有人使用已经劫持的URL进行DOS攻击和爬取数据,那么他也只能最多使用30s;
如果签名算法都泄露了怎么办?可能性很小,因为这里的“盐”值只有我们自己知道。
以上是关于如何使用weblogic配置单点登陆的主要内容,如果未能解决你的问题,请参考以下文章
单一登录使用WebLogic自定义身份验证LoginModule
如何使用 servlet 或配置文件本身将 samesite = strict 添加到 weblogic 服务器中的 JSESSIONID cookie?