From 3c52a16e5fcf9a1f20b3ef06220e021b712337b6 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 18 十月 2022 17:02:05 +0800 Subject: [PATCH] 支持手动添加,为设备设置单独的密码 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java index 99aabcf..6ca99e4 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java @@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.sip.RequestEvent; import javax.sip.SipException; @@ -82,9 +81,10 @@ AddressImpl address = (AddressImpl) fromHeader.getAddress(); SipUri uri = (SipUri) address.getURI(); String deviceId = uri.getUser(); - + Device device = deviceService.getDevice(deviceId); + String password = (device != null && !ObjectUtils.isEmpty(device.getPassword()))? device.getPassword() : sipConfig.getPassword(); AuthorizationHeader authHead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME); - if (authHead == null && !ObjectUtils.isEmpty(sipConfig.getPassword())) { + if (authHead == null && !ObjectUtils.isEmpty(password)) { logger.info("[娉ㄥ唽璇锋眰] 鏈惡甯︽巿鏉冨ご 鍥炲401: {}", requestAddress); response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request); new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain()); @@ -93,8 +93,8 @@ } // 鏍¢獙瀵嗙爜鏄惁姝g‘ - passwordCorrect = ObjectUtils.isEmpty(sipConfig.getPassword()) || - new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, sipConfig.getPassword()); + passwordCorrect = ObjectUtils.isEmpty(password) || + new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, password); if (!passwordCorrect) { // 娉ㄥ唽澶辫触 @@ -104,8 +104,6 @@ sipSender.transmitRequest(response); return; } - - Device device = deviceService.queryDevice(deviceId); // 鎼哄甫鎺堟潈澶村苟涓斿瘑鐮佹纭� response = getMessageFactory().createResponse(Response.OK, request); -- Gitblit v1.8.0