Skip to content

fivetop/LSCable-CMS-V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LSCable CMS V2 ํ”„๋กœ์ ํŠธ ๋ถ„์„ ๋ฌธ์„œ

CMS


๋ฌธ์„œ ์š”์•ฝ

ํ•ญ๋ชฉ ๋‚ด์šฉ
ํ”„๋กœ์ ํŠธ ์œ ํ˜• Spring Boot ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (์ผ€์ด๋ธ” ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
ํ”„๋ ˆ์ž„์›Œํฌ Spring Boot 1.4.4.RELEASE, Thymeleaf
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค PostgreSQL 42.2.2, MyBatis ORM, HikariCP ์ปค๋„ฅ์…˜ ํ’€
๋ณด์•ˆ Spring Security + BCrypt ์•”ํ˜ธํ™”, ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด (RBAC)
์ฃผ์š” ๊ธฐ๋Šฅ CMS(์‚ฌ์ดํŠธ/๋นŒ๋”ฉ/ํŒจ๋„ ๊ด€๋ฆฌ), IPAM(IP ์ฃผ์†Œ ๊ด€๋ฆฌ), ๋Œ€์‹œ๋ณด๋“œ/์œ„์ ฏ, ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง (WebSocket)
๋นŒ๋“œ ๋„๊ตฌ Maven
Java ๋ฒ„์ „ 1.7
ํŒŒ์ผ ์ˆ˜ Java 59๊ฐœ, Template 100๊ฐœ ์ด์ƒ

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๊ธฐ๋ณธ ์ •๋ณด

ํ•ญ๋ชฉ ๊ฐ’
ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ LSCable CMS
๋ฒ„์ „ 2.0
ํŒจํ‚ค์ง€ com.i52soft.lscable.cms
ํ”„๋กœ์ ํŠธ ์œ ํ˜• Spring Boot ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

ํ”„๋กœ์ ํŠธ ์„ค๋ช…

LSCable CMS V2๋Š” ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ผ€์ด๋ธ” ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์›น ๊ธฐ๋ฐ˜ UI๋ฅผ ํ†ตํ•ด ์ผ€์ด๋ธ” ์—ฐ๊ฒฐ, ๋„คํŠธ์›Œํฌ ์žฅ๋น„, IP ์ฃผ์†Œ, ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ

๊ตฌ๋ถ„ ๊ธฐ์ˆ 
ํ”„๋ ˆ์ž„์›Œํฌ Spring Boot 1.4.4.RELEASE
ํ…œํ”Œ๋ฆฟ ์—”์ง„ Thymeleaf
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค PostgreSQL 42.2.2.jre7
ORM MyBatis (mybatis-spring-boot-starter 1.1.1)
๋ณด์•ˆ Spring Security + BCrypt
์›น์†Œ์ผ“ Spring WebSocket
๋กœ๊น… SLF4J + Logback
์ปค๋„ฅ์…˜ ํ’€ HikariCP
ํ”„๋ก ํŠธ์—”๋“œ Bootstrap 3.3.4, jQuery 1.11.3
์•”ํ˜ธํ™” BouncyCastle (bcprov-jdk15on, bcpkix-jdk15on)
๋นŒ๋“œ ๋„๊ตฌ Maven
Java ๋ฒ„์ „ 1.7

2. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

LSCable CMS V2/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main/
โ”‚   โ”‚   โ”œโ”€โ”€ java/com/i52soft/lscable/cms/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ App.java                      # ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ config/                        # ์„ค์ •
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SecurityConfig.java        # ๋ณด์•ˆ ์„ค์ •
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WebConfig.java             # ์›น ์„ค์ •
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WebSocketConfig.java       # ์›น์†Œ์ผ“ ์„ค์ •
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ThymeleafConfig.java       # ํ…œํ”Œ๋ฆฟ ์„ค์ •
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ MyTomcatEmbeddedServletContainerFactory.java
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ controller/                    # ์ปจํŠธ๋กค๋Ÿฌ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AdminController.java       # ๊ด€๋ฆฌ์ž ์ปจํŠธ๋กค๋Ÿฌ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ DefaultController.java     # ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ HTBackendRestController.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WebSocketController.java   # ์›น์†Œ์ผ“
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ WidgetDataProviderRestController.java
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ service/                      # ์„œ๋น„์Šค ์ธํ„ฐํŽ˜์ด์Šค
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ HTBackendService.java      # ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WidgetDataProviderService.java
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ impl/
โ”‚   โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ HTBackendServiceImpl.java
โ”‚   โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ LogInServiceImpl.java
โ”‚   โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ WidgetDataProviderServiceImpl.java
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ dao/                           # ๋ฐ์ดํ„ฐ ์ ‘๊ทผ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ HTBackendDao.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ LogInDao.java
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ WidgetDataProviderDao.java
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ domain/                        # ๋„๋ฉ”์ธ ๊ฐ์ฒด
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ UserVO.java                # ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SystemUserVO.java          # ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ EndUserVO.java             # ์ตœ์ข… ์‚ฌ์šฉ์ž
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ProductVO.java             # ์ œํ’ˆ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ NetworkVO.java             # ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ IPAddressVO.java           # IP ์ฃผ์†Œ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ CMSSiteVO.java             # CMS ์‚ฌ์ดํŠธ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ RegionVO.java              # ์ง€์—ญ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ EntityVO.java              # ๋ฌผ๋ฆฌ์  ์—”ํ‹ฐํ‹ฐ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ InterfaceVO.java           # ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SiteTreeVO.java            # ์‚ฌ์ดํŠธ ํŠธ๋ฆฌ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SiteTreeNodeVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ LinkageConnectionVO.java   # ์—ฐ๊ฒฐ ์ •๋ณด
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ConnectorVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ConnectionVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MainPageLayoutVO.java      # ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MainPageWidgetVO.java      # ๋Œ€์‹œ๋ณด๋“œ ์œ„์ ฏ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MapWidgetVO.java           # ๋งต ์œ„์ ฏ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ChartWidgetVO.java         # ์ฐจํŠธ ์œ„์ ฏ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WidgetParam.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MapParam.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ DeviceParam.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ NetworkSwitchVO.java       # ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ PPInvalidVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SampleWidgetVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SampleWidgetVO2.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SiteTreePlacementVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SiteTreeRackspacePositionVO.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ device.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ deviceInfo.java
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ regions.java
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ regionInfo.java
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ common/                         # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ CmsAuthenticationProvider.java  # ์ธ์ฆ ์ œ๊ณต์ž
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ KeyUtil.java                # ํ‚ค ์œ ํ‹ธ
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ PemFile.java                # PEM ํŒŒ์ผ ์ฒ˜๋ฆฌ
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ IPAddress.java              # IP ์ฃผ์†Œ ์ฒ˜๋ฆฌ
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ SimpleCORSFilter.java       # CORS ํ•„ํ„ฐ
โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ CmsACLHandler.java          # ACL ํ•ธ๋“ค๋Ÿฌ
โ”‚   โ”‚   โ””โ”€โ”€ resources/
โ”‚   โ”‚       โ”œโ”€โ”€ application.properties          # ์Šคํ”„๋ง ๋ถ€ํŠธ ์„ค์ •
โ”‚   โ”‚       โ”œโ”€โ”€ application.yml
โ”‚   โ”‚       โ”œโ”€โ”€ database.properties              # DB ์—ฐ๊ฒฐ ์„ค์ •
โ”‚   โ”‚       โ”œโ”€โ”€ data.sql                        # ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ
โ”‚   โ”‚       โ”œโ”€โ”€ db_reset_sql.txt                # DB ๋ฆฌ์…‹ SQL
โ”‚   โ”‚       โ”œโ”€โ”€ LicensedMac                     # ๋ผ์ด์„ ์Šค MAC ์ฃผ์†Œ
โ”‚   โ”‚       โ”œโ”€โ”€ logback-spring.xml              # ๋กœ๊น… ์„ค์ •
โ”‚   โ”‚       โ”œโ”€โ”€ templates/                      # Thymeleaf ํ…œํ”Œ๋ฆฟ
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ login.html                  # ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ layout/                     # ๋ ˆ์ด์•„์›ƒ ํ…œํ”Œ๋ฆฟ
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ default.html ~ default8.html
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ public.html
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ cms/                        # CMS ๋ชจ๋“ˆ (์›๋ณธ ํ…Œ๋งˆ)
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ index.html, view.html, new.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ modifySite.html, setting.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ siteset.html, adminAuth.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ catalog.html, regions.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ manufacturer.html, linkage.html
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ adminSearch.html, adminPortUsage.html
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ cms2/                       # CMS ๋ชจ๋“ˆ (v2 ํ…Œ๋งˆ)
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ setting/                    # ์„ค์ • ๋ชจ๋“ˆ (์›๋ณธ)
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ main.html, view.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ new.html, modify.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ system.html, adminsysuser.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ map-list.html
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ manage-widget-*.html   # ์œ„์ ฏ ๊ด€๋ฆฌ
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ setting2/                   # ์„ค์ • ๋ชจ๋“ˆ (v2)
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ ipam/                      # IPAM ๋ชจ๋“ˆ (์›๋ณธ)
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ user.html, setting.html
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ ipam2/                      # IPAM ๋ชจ๋“ˆ (v2)
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ index.html, user.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ setting.html, terminalUser.html
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ terminalList.html, adminNetwork.html
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ main-widgetMap.html
โ”‚   โ”‚       โ”‚   โ””โ”€โ”€ pace.html
โ”‚   โ”‚       โ””โ”€โ”€ themes/
โ”‚   โ”‚           โ”œโ”€โ”€ bright.properties           # ๋ฐ์€ ํ…Œ๋งˆ
โ”‚   โ”‚           โ””โ”€โ”€ dark.properties             # ์–ด๋‘์šด ํ…Œ๋งˆ
โ”‚   โ””โ”€โ”€ test/
โ”‚       โ””โ”€โ”€ java/
โ”‚           โ””โ”€โ”€ com/mysample/
โ”‚               โ””โ”€โ”€ AppTest.java
โ”œโ”€โ”€ target/
โ”‚   โ”œโ”€โ”€ LSCableCMS-2.0.jar                     # ๋นŒ๋“œ๋œ JAR
โ”‚   โ”œโ”€โ”€ config.properties                        # ์‹คํ–‰ ์„ค์ •
โ”‚   โ”œโ”€โ”€ startCMS.bat / startCMS.sh              # ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ
โ”‚   โ””โ”€โ”€ stopCMS.bat / stopCMS.sh                # ์ค‘์ง€ ์Šคํฌ๋ฆฝํŠธ
โ”œโ”€โ”€ doc/                                         # Javadoc ๋ฌธ์„œ
โ”œโ”€โ”€ pom.xml                                      # Maven ์„ค์ •
โ”œโ”€โ”€ .classpath
โ””โ”€โ”€ .project

3. ๋ชจ๋“ˆ ์„ค๋ช…

3.1 ์ปจํŠธ๋กค๋Ÿฌ ๊ณ„์ธต

AdminController.java

์ฃผ์š” ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ปจํŠธ๋กค๋Ÿฌ:

  • /admin/setting/* - ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ๋ฐ ์œ„์ ฏ ๊ด€๋ฆฌ
  • /admin/cms/* - CMS ์‚ฌ์ดํŠธ ๊ด€๋ฆฌ
  • /admin/ipam/* - IP ์ฃผ์†Œ ๊ด€๋ฆฌ
  • ํ…Œ๋งˆ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… (setting/ vs setting2/)

์ฃผ์š” ์—”๋“œํฌ์ธํŠธ:

๊ฒฝ๋กœ ์„ค๋ช…
/admin/setting/adminsysuser ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
/admin/setting/new ์ƒˆ ๋ ˆ์ด์•„์›ƒ ์ƒ์„ฑ
/admin/setting/modify ๋ ˆ์ด์•„์›ƒ ์ˆ˜์ •
/admin/setting/map-list ๋งต ์œ„์ ฏ ๋ชฉ๋ก
/admin/cms/siteset ์‚ฌ์ดํŠธ ์„ค์ •
/admin/cms/view ์‚ฌ์ดํŠธ ๋ณด๊ธฐ
/admin/cms/new ์ƒˆ ์‚ฌ์ดํŠธ ์ƒ์„ฑ
/admin/cms/regions ์ง€์—ญ ๊ด€๋ฆฌ
/admin/cms/manufacturer ์ œ์กฐ์‚ฌ ๊ด€๋ฆฌ
/admin/ipam/adminNetwork ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ

HTBackendRestController.java

๋ฐฑ์—”๋“œ ์ž‘์—…์„ ์œ„ํ•œ REST API ์ปจํŠธ๋กค๋Ÿฌ

WidgetDataProviderRestController.java

์œ„์ ฏ ๋ฐ์ดํ„ฐ ์ œ๊ณต์„ ์œ„ํ•œ REST API

WebSocketController.java

์‹ค์‹œ๊ฐ„ ํ†ต์‹  ์ง€์› (์•Œ๋ฆผ, ์ƒํƒœ ์—…๋ฐ์ดํŠธ)

DefaultController.java

๊ธฐ๋ณธ ๋ผ์šฐํŒ… ๋ฐ ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ

3.2 ์„œ๋น„์Šค ๊ณ„์ธต

HTBackendService (์ธํ„ฐํŽ˜์ด์Šค + ๊ตฌํ˜„)

ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง:

  • ์œ„์ ฏ ๊ด€๋ฆฌ
  • ๋ ˆ์ด์•„์›ƒ ๊ด€๋ฆฌ
  • ์‚ฌ์ดํŠธ ํŠธ๋ฆฌ ๊ด€๋ฆฌ
  • ์ œํ’ˆ/์ œ์กฐ์‚ฌ ๊ด€๋ฆฌ
  • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
  • ๋„คํŠธ์›Œํฌ/IPAM ๊ด€๋ฆฌ
  • ์—ฐ๊ฒฐ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์•Œ๋žŒ ๋ชจ๋‹ˆํ„ฐ๋ง

WidgetDataProviderService

์œ„์ ฏ ๋ฐ์ดํ„ฐ ์ œ๊ณต ์„œ๋น„์Šค

3.3 ๋„๋ฉ”์ธ ๊ฐ์ฒด

๋„๋ฉ”์ธ ํด๋ž˜์Šค ์„ค๋ช…
UserVO ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž
SystemUserVO ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž
EndUserVO ์ตœ์ข… ์‚ฌ์šฉ์ž/ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ž
CMSSiteVO CMS ์‚ฌ์ดํŠธ ์ •๋ณด
NetworkVO ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ
IPAddressVO IP ์ฃผ์†Œ
EntityVO ๋ฌผ๋ฆฌ์  ์—”ํ‹ฐํ‹ฐ (์žฅ๋น„, ๋ž™ ๋“ฑ)
InterfaceVO ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค
SiteTreeVO ์‚ฌ์ดํŠธ ํŠธ๋ฆฌ ๊ตฌ์กฐ
MainPageLayoutVO ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ
MainPageWidgetVO ๋Œ€์‹œ๋ณด๋“œ ์œ„์ ฏ
MapWidgetVO ๋งต ์œ„์ ฏ
WidgetParam ์œ„์ ฏ ๋งค๊ฐœ๋ณ€์ˆ˜

3.4 ๋ณด์•ˆ

  • ์ธ์ฆ: Spring Security + BCrypt ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”
  • ๊ถŒํ•œ ๋ถ€์—ฌ: ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด (RBAC)
  • ์„ธ์…˜: Remember-me ๊ธฐ๋Šฅ ์ง€์›
  • ๊ณต๊ฐœ ๋ฆฌ์†Œ์Šค: CSS, JS, ์ด๋ฏธ์ง€, ์ •์  ๋ฆฌ์†Œ์Šค (permitAll)
  • ๋ณดํ˜ธ ๋ฆฌ์†Œ์Šค: /admin/**๋Š” Administrator ์—ญํ•  ํ•„์š”

4. API ์—”๋“œํฌ์ธํŠธ

์ธ์ฆ

๋ฉ”์„œ๋“œ ๊ฒฝ๋กœ ์„ค๋ช…
GET /login ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€
POST /login-process ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ
GET /logout ๋กœ๊ทธ์•„์›ƒ

๊ด€๋ฆฌ์ž - ์„ค์ •

๋ฉ”์„œ๋“œ ๊ฒฝ๋กœ ์„ค๋ช…
GET /admin/setting/adminsysuser ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
GET /admin/setting/new ์ƒˆ ๋ ˆ์ด์•„์›ƒ ์ƒ์„ฑ
GET /admin/setting/modify ๋ ˆ์ด์•„์›ƒ ์ˆ˜์ •
GET /admin/setting/map-list ๋งต ์œ„์ ฏ ๋ชฉ๋ก
GET /admin/setting/manage-layout ๋ ˆ์ด์•„์›ƒ ๊ด€๋ฆฌ
GET /admin/setting/manage-widget ์œ„์ ฏ ๊ด€๋ฆฌ
GET /admin/setting/preview-layout ๋ ˆ์ด์•„์›ƒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

๊ด€๋ฆฌ์ž - CMS

๋ฉ”์„œ๋“œ ๊ฒฝ๋กœ ์„ค๋ช…
GET /admin/cms/setting CMS ์„ค์ •
GET /admin/cms/siteset ์‚ฌ์ดํŠธ ์„ค์ •
GET /admin/cms/view ์‚ฌ์ดํŠธ ๋ณด๊ธฐ
GET /admin/cms/new ์ƒˆ ์‚ฌ์ดํŠธ ์ƒ์„ฑ
GET /admin/cms/modifySite ์‚ฌ์ดํŠธ ์ˆ˜์ •
GET /admin/cms/catalog ์ œํ’ˆ ์นดํƒˆ๋กœ๊ทธ
GET /admin/cms/regions ์ง€์—ญ ๊ด€๋ฆฌ
GET /admin/cms/manufacturer ์ œ์กฐ์‚ฌ ๊ด€๋ฆฌ
GET /admin/cms/adminAuth ๊ถŒํ•œ ๊ด€๋ฆฌ
GET /admin/cms/linkage ์—ฐ๊ฒฐ ๊ด€๋ฆฌ

๊ด€๋ฆฌ์ž - IPAM

๋ฉ”์„œ๋“œ ๊ฒฝ๋กœ ์„ค๋ช…
GET /admin/ipam/setting IPAM ์„ค์ •
GET /admin/ipam/user ์‚ฌ์šฉ์ž IP ๊ด€๋ฆฌ
GET /admin/ipam/adminNetwork ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •

์ปค๋„ฅ์…˜ ํ’€

  • ์œ ํ˜•: HikariCP
  • ๋“œ๋ผ์ด๋ฒ„: PostgreSQL 42.2.2.jre7
  • ์„ค์ •: database.properties (์™ธ๋ถ€ํ™”๋จ)

ORM

  • ์œ ํ˜•: MyBatis
  • ๋งคํผ: XML ๊ธฐ๋ฐ˜ SQL ๋งคํ•‘

6. ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ

๋นŒ๋“œ

mvn clean package

์‹คํ–‰

# Windows
target\startCMS.bat

# Linux
sh target/startCMS.sh

์ค‘์ง€

# Windows
target\stopCMS.bat

# Linux
sh target/stopCMS.sh

7. ์ฃผ์š” ๊ธฐ๋Šฅ

ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  1. ์ผ€์ด๋ธ” ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (CMS)

    • ์‚ฌ์ดํŠธ ๊ด€๋ฆฌ
    • ๋นŒ๋”ฉ/์ธต/์‹ค ๊ณ„์ธต ๊ตฌ์กฐ
    • ํŒจ์น˜ ํŒจ๋„ ๊ด€๋ฆฌ
    • ์—ฐ๊ฒฐ ์ถ”์ 
  2. ๋Œ€์‹œ๋ณด๋“œ ๋ฐ ์œ„์ ฏ

    • ์‚ฌ์šฉ์ž ์ •์˜ ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ
    • ๋ผ์ธ ์ฐจํŠธ, ํŒŒ์ด ์ฐจํŠธ, ๊ฒŒ์ด์ง€ ์ฐจํŠธ
    • ์•Œ๋žŒ ๊ทธ๋ฆฌ๋“œ ํ…Œ์ด๋ธ”
    • ๊ฐ€์šฉ์„ฑ ๊ทธ๋ฆฌ๋“œ ํ…Œ์ด๋ธ”
    • ๋งต ์œ„์ ฏ
    • 3D ๋ž™ ๋ทฐ (DCIM)
  3. IP ์ฃผ์†Œ ๊ด€๋ฆฌ (IPAM)

    • IP ์ฃผ์†Œ ํ• ๋‹น
    • ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ ๊ด€๋ฆฌ
    • L2/L3 ์Šค์œ„์น˜ ๊ด€๋ฆฌ
    • ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ
  4. ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง

    • WebSocket ๊ธฐ๋ฐ˜ ์—…๋ฐ์ดํŠธ
    • ์•Œ๋žŒ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง
    • ํฌํŠธ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง
  5. ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ

    • ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
    • ์ตœ์ข… ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
    • ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด (RBAC)
  6. ํ…Œ๋งˆ ์ง€์›

    • ๋ฐ์€ ํ…Œ๋งˆ (Bright)
    • ์–ด๋‘์šด ํ…Œ๋งˆ (Dark)

8. ์„ค์ • ํŒŒ์ผ

application.properties

์Šคํ”„๋ง ๋ถ€ํŠธ ๋ฉ”์ธ ์„ค์ •

database.properties

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ • (์™ธ๋ถ€ํ™”๋จ)

config.properties

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์‹œ๊ฐ„ ์„ค์ • (target/ ํด๋” ๋‚ด)

LicensedMac

ํ•˜๋“œ์›จ์–ด ๋ฐ”์ธ๋”ฉ์„ ์œ„ํ•œ ๋ผ์ด์„ ์Šค MAC ์ฃผ์†Œ


9. ์˜์กด์„ฑ ์š”์•ฝ

๊ทธ๋ฃน ์•„ํ‹ฐํŒฉํŠธ ๋ฒ„์ „
org.springframework.boot spring-boot-starter-web 1.4.4.RELEASE
org.springframework.boot spring-boot-starter-security 1.4.4.RELEASE
org.springframework.boot spring-boot-starter-websocket 1.4.4.RELEASE
org.springframework.boot spring-boot-starter-thymeleaf 1.4.4.RELEASE
org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1
org.postgresql postgresql 42.2.2.jre7
org.projectlombok lombok 1.16.8
com.zaxxer HikariCP (parent์—์„œ ์ƒ์†)
org.bouncycastle bcprov-jdk15on 1.56
org.bouncycastle bcpkix-jdk15on 1.56
org.webjars bootstrap 3.3.4
org.webjars jquery 1.11.3

10. ์ฐธ๊ณ  ์‚ฌํ•ญ

  • ๊ธฐ์กด Spring Boot 1.4.x ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (Java 7)
  • Thymeleaf๋ฅผ ์‚ฌ์šฉํ•œ ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง
  • ๋‘ ๊ฐ€์ง€ ํ…Œ๋งˆ ๋ฒ„์ „ ์กด์žฌ: ์›๋ณธ (setting/) ๋ฐ v2 (setting2/)
  • CMS ๋ฐ IPAM ๋ชจ๋“ˆ์ด ๋ณ„๋„์˜ UI ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง
  • ํ•˜๋“œ์›จ์–ด ๋ผ์ด์„ ์Šค ๋ฐ”์ธ๋”ฉ์€ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋‚˜ ํ˜„์žฌ ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ
  • Javadoc ๋ฌธ์„œ๋Š” /doc ํด๋”์— ์žˆ์Œ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors