mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-25 22:47:49 +08:00
Compare commits
3 Commits
c0150775a8
...
42b6bfb26c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42b6bfb26c | ||
|
|
40555d917b | ||
|
|
b05f770a57 |
5
pom.xml
5
pom.xml
@ -405,6 +405,11 @@
|
|||||||
<version>1.18.2</version>
|
<version>1.18.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-pool2</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
|||||||
@ -219,4 +219,9 @@ public class UserSetting {
|
|||||||
*/
|
*/
|
||||||
private boolean useAliasForGroupSync = false;
|
private boolean useAliasForGroupSync = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备ID严格模式,开启后设备注册时如果设备ID不符合规范则拒绝注册, 默认开启
|
||||||
|
*/
|
||||||
|
private boolean deviceIdStrict = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ public class GbCode {
|
|||||||
* 解析国标编号
|
* 解析国标编号
|
||||||
*/
|
*/
|
||||||
public static GbCode decode(String code){
|
public static GbCode decode(String code){
|
||||||
if (code == null || code.trim().length() != 20) {
|
if (code == null || code.trim().length() != 20 || !code.matches("\\d{20}")) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
code = code.trim();
|
code = code.trim();
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.conf.SipConfig;
|
|||||||
import com.genersoft.iot.vmp.conf.UserSetting;
|
import com.genersoft.iot.vmp.conf.UserSetting;
|
||||||
import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
|
import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
|
||||||
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
||||||
|
import com.genersoft.iot.vmp.gb28181.bean.GbCode;
|
||||||
import com.genersoft.iot.vmp.gb28181.bean.GbSipDate;
|
import com.genersoft.iot.vmp.gb28181.bean.GbSipDate;
|
||||||
import com.genersoft.iot.vmp.common.RemoteAddressInfo;
|
import com.genersoft.iot.vmp.common.RemoteAddressInfo;
|
||||||
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
||||||
@ -88,6 +89,17 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
|
|||||||
AddressImpl address = (AddressImpl) fromHeader.getAddress();
|
AddressImpl address = (AddressImpl) fromHeader.getAddress();
|
||||||
SipUri uri = (SipUri) address.getURI();
|
SipUri uri = (SipUri) address.getURI();
|
||||||
String deviceId = uri.getUser();
|
String deviceId = uri.getUser();
|
||||||
|
if (userSetting.isDeviceIdStrict()) {
|
||||||
|
// 严格模式下,非20位设备ID不予处理
|
||||||
|
GbCode decode = GbCode.decode(deviceId);
|
||||||
|
if (decode == null) {
|
||||||
|
// 注册失败
|
||||||
|
response = getMessageFactory().createResponse(Response.FORBIDDEN, request);
|
||||||
|
sipSender.transmitRequest(request.getLocalAddress().getHostAddress(), response);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
// 调整逻辑,如果为设置公共密码,那么就必须要预设用户信息,否则无法注册。
|
// 调整逻辑,如果为设置公共密码,那么就必须要预设用户信息,否则无法注册。
|
||||||
Device device = deviceService.getDeviceByDeviceId(deviceId);
|
Device device = deviceService.getDeviceByDeviceId(deviceId);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user