├── .gitignore ├── README.md ├── open-iam-api ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ ├── IAMConfigKey.java │ ├── cookie │ ├── Cookies.java │ └── LoginToken.java │ ├── domains │ ├── Action.java │ ├── Application.java │ ├── ApplicationInfo.java │ ├── AuthorityRecord.java │ ├── AuthorizeUserRequest.java │ ├── AuthorizeUserResponse.java │ ├── ChangeDepartmentRequest.java │ ├── ChangeDepartmentResponse.java │ ├── FetchApplicationRequest.java │ ├── FetchApplicationResponse.java │ ├── FetchAuthorityRequest.java │ ├── FetchAuthorityResponse.java │ ├── FetchConfigRecord.java │ ├── FetchConfigRequest.java │ ├── FetchConfigResponse.java │ ├── FetchUsersRequest.java │ ├── FetchUsersResponse.java │ ├── GetUserRequest.java │ ├── GetUserResponse.java │ ├── LoginRequest.java │ ├── LoginResponse.java │ ├── LogoutRequest.java │ ├── LogoutResponse.java │ ├── Product.java │ ├── SendSmsRequest.java │ ├── SendSmsResponse.java │ ├── SubAction.java │ ├── TestAuthorizeUserRequest.java │ ├── TestAuthorizeUserResponse.java │ ├── ValidateLoginRequest.java │ └── ValidateLoginResponse.java │ ├── enums │ ├── ActionStatus.java │ ├── AppStatus.java │ ├── ApplicationStatus.java │ ├── BranchStatus.java │ ├── ChannelType.java │ ├── CityStatus.java │ ├── DepartmentStatus.java │ ├── GroupStatus.java │ ├── IAMResponseCode.java │ ├── JobStatus.java │ ├── LogFormat.java │ ├── ProductStatus.java │ ├── ResourceType.java │ ├── RoleStatus.java │ ├── SexType.java │ ├── SubActionStatus.java │ ├── UserSource.java │ ├── UserStatus.java │ └── YesOrNo.java │ ├── security │ ├── AES.java │ └── Base64.java │ ├── services │ └── IAMService.java │ └── vo │ ├── Branch.java │ ├── City.java │ ├── Department.java │ ├── Job.java │ └── Role.java ├── open-iam-client ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── client │ │ ├── IAMAuthorityExtractor.java │ │ └── IAMAuthorityService.java │ └── resources │ └── META-INF │ └── extensions │ ├── javax.web.skeleton4j.authority.AuthorityExtractor │ └── javax.web.skeleton4j.authority.AuthorityService ├── open-iam-console ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── console │ │ └── Main.java │ └── resources │ └── log4j2.xml ├── open-iam-dao ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── rnkrsoft │ │ │ └── opensource │ │ │ └── iam │ │ │ ├── cache │ │ │ ├── dao │ │ │ │ ├── AuthorityCache.java │ │ │ │ ├── SessionCache.java │ │ │ │ ├── SmsCache.java │ │ │ │ └── UserUuidCache.java │ │ │ └── entity │ │ │ │ ├── SessionEntity.java │ │ │ │ ├── SmsCodeEntity.java │ │ │ │ └── UserAuthorityCacheEntity.java │ │ │ └── jdbc │ │ │ ├── bo │ │ │ ├── FetchAuthorityByAppAndUserBO.java │ │ │ ├── FetchAuthorityByAppBO.java │ │ │ ├── GetUserInfoBO.java │ │ │ ├── QueryActionBO.java │ │ │ ├── QueryAuthorityBO.java │ │ │ ├── QueryBranchBO.java │ │ │ ├── QueryDepartmentBO.java │ │ │ ├── QueryJobBO.java │ │ │ ├── QueryProductBO.java │ │ │ ├── QuerySubActionBO.java │ │ │ ├── QueryUserBO.java │ │ │ └── SelectJobBO.java │ │ │ ├── dao │ │ │ ├── ActionDAO.java │ │ │ ├── ApplicationDAO.java │ │ │ ├── AuthorityDAO.java │ │ │ ├── BranchDAO.java │ │ │ ├── ChannelDAO.java │ │ │ ├── CityDAO.java │ │ │ ├── DepartmentDAO.java │ │ │ ├── GroupDAO.java │ │ │ ├── GroupRoleDAO.java │ │ │ ├── JobDAO.java │ │ │ ├── ProductDAO.java │ │ │ ├── RoleAuthorityDAO.java │ │ │ ├── RoleDAO.java │ │ │ ├── SubActionDAO.java │ │ │ ├── UserDAO.java │ │ │ ├── UserGroupDAO.java │ │ │ ├── UserJobDAO.java │ │ │ └── UserRoleDAO.java │ │ │ └── entity │ │ │ ├── ActionEntity.java │ │ │ ├── ApplicationEntity.java │ │ │ ├── AuthorityEntity.java │ │ │ ├── BranchEntity.java │ │ │ ├── ChannelEntity.java │ │ │ ├── CityEntity.java │ │ │ ├── DepartmentEntity.java │ │ │ ├── GroupEntity.java │ │ │ ├── GroupRoleEntity.java │ │ │ ├── JobEntity.java │ │ │ ├── ProductEntity.java │ │ │ ├── RoleAuthorityEntity.java │ │ │ ├── RoleEntity.java │ │ │ ├── SubActionEntity.java │ │ │ ├── UserEntity.java │ │ │ ├── UserGroupEntity.java │ │ │ ├── UserJobEntity.java │ │ │ └── UserRoleEntity.java │ └── resources │ │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── jdbc │ │ └── mapper │ │ ├── ActionMapper.xml │ │ ├── ApplicationMapper.xml │ │ ├── AuthorityMapper.xml │ │ ├── BranchMapper.xml │ │ ├── CityMapper.xml │ │ ├── DepartmentMapper.xml │ │ ├── GroupMapper.xml │ │ ├── GroupRoleMapper.xml │ │ ├── JobMapper.xml │ │ ├── ProductMapper.xml │ │ ├── RoleAuthorityMapper.xml │ │ ├── RoleMapper.xml │ │ ├── SubActionMapper.xml │ │ ├── UserGroupMapper.xml │ │ ├── UserJobMapper.xml │ │ ├── UserMapper.xml │ │ └── UserRoleMapper.xml │ └── test │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ └── SqlTest.java ├── open-iam-facade ├── interface-platform │ └── logger.properties ├── logs │ └── interface-platform.20190822.log ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── gateway │ │ ├── channel │ │ ├── domains │ │ │ ├── GetAlreadyLoginChannelsRecord.java │ │ │ ├── GetAlreadyLoginChannelsRequest.java │ │ │ ├── GetAlreadyLoginChannelsResponse.java │ │ │ ├── GetChannelDetailRequest.java │ │ │ └── GetChannelDetailResponse.java │ │ └── facade │ │ │ └── ChannelFacade.java │ │ ├── department │ │ ├── domains │ │ │ ├── SearchDepartmentRecord.java │ │ │ ├── SearchDepartmentRequest.java │ │ │ └── SearchDepartmentResponse.java │ │ └── facade │ │ │ └── DepartmentFacade.java │ │ ├── login │ │ ├── domains │ │ │ ├── BindLoginRequest.java │ │ │ ├── BindLoginResponse.java │ │ │ ├── CheckUuidRequest.java │ │ │ ├── CheckUuidResponse.java │ │ │ ├── SmsLoginRequest.java │ │ │ └── SmsLoginResponse.java │ │ └── facade │ │ │ └── LoginFacade.java │ │ ├── logout │ │ ├── domains │ │ │ ├── LogoutByChannelRequest.java │ │ │ ├── LogoutByChannelResponse.java │ │ │ ├── LogoutRequest.java │ │ │ └── LogoutResponse.java │ │ └── facade │ │ │ └── LogoutFacade.java │ │ ├── notice │ │ ├── domains │ │ │ ├── GetNoticeRecord.java │ │ │ ├── GetNoticeRequest.java │ │ │ ├── GetNoticeResponse.java │ │ │ ├── ReadNoticeRequest.java │ │ │ └── ReadNoticeResponse.java │ │ └── facade │ │ │ └── NoticeFacade.java │ │ ├── sms │ │ ├── domains │ │ │ ├── SendLoginSmsRequest.java │ │ │ ├── SendLoginSmsResponse.java │ │ │ ├── SendNoticeSmsRequest.java │ │ │ └── SendNoticeSmsResponse.java │ │ └── facade │ │ │ └── SmsFacade.java │ │ └── user │ │ ├── domains │ │ ├── GetMyInfoRequest.java │ │ ├── GetMyInfoResponse.java │ │ ├── GetUserDetailRequest.java │ │ ├── GetUserDetailResponse.java │ │ ├── SearchUserRecord.java │ │ ├── SearchUserRequest.java │ │ └── SearchUserResponse.java │ │ └── facade │ │ └── UserFacade.java │ └── test │ └── java │ ├── Test1.java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ └── gateway │ ├── Test2.java │ ├── login │ └── facade │ │ └── LoginFacadeTest.java │ ├── sms │ └── facade │ │ └── SmsFacadeTest.java │ └── user │ └── facade │ └── UserFacadeTest.java ├── open-iam-gateway ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── gateway │ │ ├── Main.java │ │ ├── config │ │ └── IAMConfig.java │ │ └── facades │ │ ├── ChannelFacadeImpl.java │ │ ├── DepartmentFacadeImpl.java │ │ ├── LoginFacadeImpl.java │ │ ├── LogoutFacadeImpl.java │ │ ├── NoticeFacadeImpl.java │ │ ├── SmsFacadeImpl.java │ │ └── UserFacadeImpl.java │ └── resources │ ├── WEB-INF │ └── web.xml │ ├── applicationContext-cache.xml │ ├── applicationContext-config.xml │ ├── applicationContext-dataSource.xml │ ├── applicationContext-dubbo.xml │ ├── applicationContext-interface-platform.xml │ ├── applicationContext-orm.xml │ ├── applicationContext.xml │ ├── config │ └── datasource.properties │ ├── log4j2.xml │ ├── log4jdbc.log4j2.properties │ ├── scripts │ └── h2 │ │ ├── data.sql │ │ └── schema.sql │ └── spring-mvc.xml ├── open-iam-internal-api ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ └── internal │ ├── config │ ├── IAMConfig.java │ └── SmsConfig.java │ ├── qrcode │ ├── domains │ │ ├── CheckQrCodeRequest.java │ │ ├── CheckQrCodeResponse.java │ │ ├── GenerateQrCodeRequest.java │ │ └── GenerateQrCodeResponse.java │ └── services │ │ └── QrCodeLoginService.java │ └── sms │ └── services │ └── SmsService.java ├── open-iam-server ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── rnkrsoft │ │ │ └── opensource │ │ │ └── iam │ │ │ ├── Main.java │ │ │ └── web │ │ │ └── controller │ │ │ ├── DebugController.java │ │ │ ├── IAMController.java │ │ │ ├── QrCodeLoginController.java │ │ │ └── SmsLoginController.java │ └── resources │ │ ├── META-INF │ │ └── resources │ │ │ ├── avatars │ │ │ └── default.jpg │ │ │ └── static │ │ │ ├── awesome │ │ │ ├── css │ │ │ │ └── font-awesome.css │ │ │ └── font │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ └── bootstrap.css │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ └── npm.js │ │ │ ├── icon │ │ │ ├── application.png │ │ │ ├── logo.png │ │ │ └── logo@2.png │ │ │ ├── image │ │ │ ├── background1.jpg │ │ │ ├── background2.jpg │ │ │ ├── background3.jpg │ │ │ └── background4.jpg │ │ │ ├── jquery │ │ │ └── jquery.js │ │ │ ├── layui │ │ │ ├── css │ │ │ │ ├── layui.css │ │ │ │ ├── layui.mobile.css │ │ │ │ └── modules │ │ │ │ │ ├── code.css │ │ │ │ │ ├── laydate │ │ │ │ │ └── default │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── layer │ │ │ │ │ └── default │ │ │ │ │ ├── icon-ext.png │ │ │ │ │ ├── icon.png │ │ │ │ │ ├── layer.css │ │ │ │ │ ├── loading-0.gif │ │ │ │ │ ├── loading-1.gif │ │ │ │ │ └── loading-2.gif │ │ │ ├── font │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ ├── iconfont.woff │ │ │ │ └── iconfont.woff2 │ │ │ ├── images │ │ │ │ └── face │ │ │ │ │ ├── 0.gif │ │ │ │ │ ├── 1.gif │ │ │ │ │ ├── 10.gif │ │ │ │ │ ├── 11.gif │ │ │ │ │ ├── 12.gif │ │ │ │ │ ├── 13.gif │ │ │ │ │ ├── 14.gif │ │ │ │ │ ├── 15.gif │ │ │ │ │ ├── 16.gif │ │ │ │ │ ├── 17.gif │ │ │ │ │ ├── 18.gif │ │ │ │ │ ├── 19.gif │ │ │ │ │ ├── 2.gif │ │ │ │ │ ├── 20.gif │ │ │ │ │ ├── 21.gif │ │ │ │ │ ├── 22.gif │ │ │ │ │ ├── 23.gif │ │ │ │ │ ├── 24.gif │ │ │ │ │ ├── 25.gif │ │ │ │ │ ├── 26.gif │ │ │ │ │ ├── 27.gif │ │ │ │ │ ├── 28.gif │ │ │ │ │ ├── 29.gif │ │ │ │ │ ├── 3.gif │ │ │ │ │ ├── 30.gif │ │ │ │ │ ├── 31.gif │ │ │ │ │ ├── 32.gif │ │ │ │ │ ├── 33.gif │ │ │ │ │ ├── 34.gif │ │ │ │ │ ├── 35.gif │ │ │ │ │ ├── 36.gif │ │ │ │ │ ├── 37.gif │ │ │ │ │ ├── 38.gif │ │ │ │ │ ├── 39.gif │ │ │ │ │ ├── 4.gif │ │ │ │ │ ├── 40.gif │ │ │ │ │ ├── 41.gif │ │ │ │ │ ├── 42.gif │ │ │ │ │ ├── 43.gif │ │ │ │ │ ├── 44.gif │ │ │ │ │ ├── 45.gif │ │ │ │ │ ├── 46.gif │ │ │ │ │ ├── 47.gif │ │ │ │ │ ├── 48.gif │ │ │ │ │ ├── 49.gif │ │ │ │ │ ├── 5.gif │ │ │ │ │ ├── 50.gif │ │ │ │ │ ├── 51.gif │ │ │ │ │ ├── 52.gif │ │ │ │ │ ├── 53.gif │ │ │ │ │ ├── 54.gif │ │ │ │ │ ├── 55.gif │ │ │ │ │ ├── 56.gif │ │ │ │ │ ├── 57.gif │ │ │ │ │ ├── 58.gif │ │ │ │ │ ├── 59.gif │ │ │ │ │ ├── 6.gif │ │ │ │ │ ├── 60.gif │ │ │ │ │ ├── 61.gif │ │ │ │ │ ├── 62.gif │ │ │ │ │ ├── 63.gif │ │ │ │ │ ├── 64.gif │ │ │ │ │ ├── 65.gif │ │ │ │ │ ├── 66.gif │ │ │ │ │ ├── 67.gif │ │ │ │ │ ├── 68.gif │ │ │ │ │ ├── 69.gif │ │ │ │ │ ├── 7.gif │ │ │ │ │ ├── 70.gif │ │ │ │ │ ├── 71.gif │ │ │ │ │ ├── 8.gif │ │ │ │ │ └── 9.gif │ │ │ ├── lay │ │ │ │ └── modules │ │ │ │ │ ├── carousel.js │ │ │ │ │ ├── code.js │ │ │ │ │ ├── colorpicker.js │ │ │ │ │ ├── element.js │ │ │ │ │ ├── flow.js │ │ │ │ │ ├── form.js │ │ │ │ │ ├── jquery.js │ │ │ │ │ ├── laydate.js │ │ │ │ │ ├── layedit.js │ │ │ │ │ ├── layer.js │ │ │ │ │ ├── laypage.js │ │ │ │ │ ├── laytpl.js │ │ │ │ │ ├── mobile.js │ │ │ │ │ ├── rate.js │ │ │ │ │ ├── slider.js │ │ │ │ │ ├── table.js │ │ │ │ │ ├── transfer.js │ │ │ │ │ ├── tree.js │ │ │ │ │ ├── upload.js │ │ │ │ │ └── util.js │ │ │ ├── layui.all.js │ │ │ └── layui.js │ │ │ └── login │ │ │ ├── css │ │ │ ├── animation.css │ │ │ ├── iconfont.css │ │ │ └── login.css │ │ │ ├── fonts │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ ├── iconfont.woff │ │ │ └── iconfont.woff2 │ │ │ └── js │ │ │ ├── animation.js │ │ │ └── login.js │ │ ├── WEB-INF │ │ ├── views │ │ │ ├── dashboard.jsp │ │ │ └── login.jsp │ │ └── web.xml │ │ ├── applicationContext-cache.xml │ │ ├── applicationContext-config.xml │ │ ├── applicationContext-dataSource.xml │ │ ├── applicationContext-dubbo.xml │ │ ├── applicationContext-iam.xml │ │ ├── applicationContext-orm.xml │ │ ├── applicationContext.xml │ │ ├── config │ │ ├── datasource.properties │ │ ├── iam.properties │ │ └── sms.properties │ │ ├── log4j2.xml │ │ ├── log4jdbc.log4j2.properties │ │ ├── scripts │ │ └── h2 │ │ │ ├── data.sql │ │ │ └── schema.sql │ │ └── spring-mvc.xml │ └── test │ └── resource │ └── config │ ├── datasource.properties │ ├── iam.properties │ └── sms.properties ├── open-iam-service ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ ├── services │ ├── ActionServiceImpl.java │ ├── ApplicationServiceImpl.java │ ├── AuthorityCacheHelperService.java │ ├── AuthorityServiceImpl.java │ ├── BranchServiceImpl.java │ ├── CityServiceImpl.java │ ├── DepartmentServiceImpl.java │ ├── IAMServiceImpl.java │ ├── JobServiceImpl.java │ ├── MockSmsService.java │ ├── ProductServiceImpl.java │ ├── QrCodeLoginServiceImpl.java │ ├── RoleServiceImpl.java │ ├── SubActionServiceImpl.java │ └── UserServiceImpl.java │ └── utils │ └── QRCodeUtil.java ├── open-iam-sms-aliyun ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ └── services │ └── AliyunSmsService.java ├── open-iam-token ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── rnkrsoft │ └── opensource │ └── iam │ └── gateway │ └── services │ └── IAMTokenServiceImpl.java ├── open-iam-ui ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── rnkrsoft │ │ │ └── opensource │ │ │ └── iam │ │ │ ├── IAM.java │ │ │ └── skeleton4j │ │ │ ├── interfaces │ │ │ ├── action │ │ │ │ ├── domains │ │ │ │ │ ├── FetchActionRequest.java │ │ │ │ │ ├── FetchActionResponse.java │ │ │ │ │ ├── QueryActionRecord.java │ │ │ │ │ ├── QueryActionRequest.java │ │ │ │ │ └── QueryActionResponse.java │ │ │ │ └── services │ │ │ │ │ └── ActionService.java │ │ │ ├── application │ │ │ │ ├── domains │ │ │ │ │ ├── CreateApplicationRequest.java │ │ │ │ │ ├── CreateApplicationResponse.java │ │ │ │ │ ├── DeleteApplicationRequest.java │ │ │ │ │ ├── DeleteApplicationResponse.java │ │ │ │ │ ├── FetchApplicationRequest.java │ │ │ │ │ ├── FetchApplicationResponse.java │ │ │ │ │ ├── FixApplicationAuthorityRequest.java │ │ │ │ │ ├── FixApplicationAuthorityResponse.java │ │ │ │ │ ├── QueryApplicationRecord.java │ │ │ │ │ ├── QueryApplicationRequest.java │ │ │ │ │ ├── QueryApplicationResponse.java │ │ │ │ │ ├── ToUpdateApplicationRequest.java │ │ │ │ │ ├── ToUpdateApplicationResponse.java │ │ │ │ │ ├── UpdateApplicationRequest.java │ │ │ │ │ └── UpdateApplicationResponse.java │ │ │ │ └── services │ │ │ │ │ └── ApplicationService.java │ │ │ ├── authority │ │ │ │ ├── domains │ │ │ │ │ ├── BatchUpdateAuthorityByRoleRequest.java │ │ │ │ │ ├── BatchUpdateAuthorityByRoleResponse.java │ │ │ │ │ ├── FetchAuthorityByRoleRequest.java │ │ │ │ │ ├── FetchAuthorityByRoleResponse.java │ │ │ │ │ ├── QueryAuthorityRecord.java │ │ │ │ │ ├── QueryAuthorityRequest.java │ │ │ │ │ └── QueryAuthorityResponse.java │ │ │ │ └── services │ │ │ │ │ └── AuthorityService.java │ │ │ ├── branch │ │ │ │ ├── domains │ │ │ │ │ ├── CreateBranchRequest.java │ │ │ │ │ ├── CreateBranchResponse.java │ │ │ │ │ ├── DeleteBranchRequest.java │ │ │ │ │ ├── DeleteBranchResponse.java │ │ │ │ │ ├── FetchBranchRequest.java │ │ │ │ │ ├── FetchBranchResponse.java │ │ │ │ │ ├── QueryBranchRecord.java │ │ │ │ │ ├── QueryBranchRequest.java │ │ │ │ │ ├── QueryBranchResponse.java │ │ │ │ │ ├── ToUpdateBranchRequest.java │ │ │ │ │ ├── ToUpdateBranchResponse.java │ │ │ │ │ ├── UpdateBranchRequest.java │ │ │ │ │ └── UpdateBranchResponse.java │ │ │ │ └── services │ │ │ │ │ └── BranchService.java │ │ │ ├── city │ │ │ │ ├── domains │ │ │ │ │ ├── CreateCityRequest.java │ │ │ │ │ ├── CreateCityResponse.java │ │ │ │ │ ├── DeleteCityRequest.java │ │ │ │ │ ├── DeleteCityResponse.java │ │ │ │ │ ├── FetchCityRequest.java │ │ │ │ │ ├── FetchCityResponse.java │ │ │ │ │ ├── QueryCityRecord.java │ │ │ │ │ ├── QueryCityRequest.java │ │ │ │ │ └── QueryCityResponse.java │ │ │ │ └── services │ │ │ │ │ └── CityService.java │ │ │ ├── department │ │ │ │ ├── domains │ │ │ │ │ ├── CreateDepartmentRequest.java │ │ │ │ │ ├── CreateDepartmentResponse.java │ │ │ │ │ ├── DeleteDepartmentRequest.java │ │ │ │ │ ├── DeleteDepartmentResponse.java │ │ │ │ │ ├── FetchDepartmentRequest.java │ │ │ │ │ ├── FetchDepartmentResponse.java │ │ │ │ │ ├── QueryDepartmentRecord.java │ │ │ │ │ ├── QueryDepartmentRequest.java │ │ │ │ │ ├── QueryDepartmentResponse.java │ │ │ │ │ ├── ToUpdateDepartmentRequest.java │ │ │ │ │ ├── ToUpdateDepartmentResponse.java │ │ │ │ │ ├── UpdateDepartmentRequest.java │ │ │ │ │ └── UpdateDepartmentResponse.java │ │ │ │ └── services │ │ │ │ │ └── DepartmentService.java │ │ │ ├── job │ │ │ │ ├── domains │ │ │ │ │ ├── CreateJobRequest.java │ │ │ │ │ ├── CreateJobResponse.java │ │ │ │ │ ├── DeleteJobRequest.java │ │ │ │ │ ├── DeleteJobResponse.java │ │ │ │ │ ├── FetchJobRequest.java │ │ │ │ │ ├── FetchJobResponse.java │ │ │ │ │ ├── QueryJobRecord.java │ │ │ │ │ ├── QueryJobRequest.java │ │ │ │ │ ├── QueryJobResponse.java │ │ │ │ │ ├── ToUpdateJobRequest.java │ │ │ │ │ ├── ToUpdateJobResponse.java │ │ │ │ │ ├── UpdateJobRequest.java │ │ │ │ │ └── UpdateJobResponse.java │ │ │ │ └── services │ │ │ │ │ └── JobService.java │ │ │ ├── module │ │ │ │ ├── domains │ │ │ │ │ ├── GenerateModuleRequest.java │ │ │ │ │ ├── GenerateModuleResponse.java │ │ │ │ │ ├── ImportModuleRequest.java │ │ │ │ │ ├── ImportModuleResponse.java │ │ │ │ │ ├── QueryModuleRecord.java │ │ │ │ │ ├── QueryModuleRequest.java │ │ │ │ │ └── QueryModuleResponse.java │ │ │ │ └── services │ │ │ │ │ ├── JarFileService.java │ │ │ │ │ └── ModuleService.java │ │ │ ├── product │ │ │ │ ├── domains │ │ │ │ │ ├── FetchProductRequest.java │ │ │ │ │ ├── FetchProductResponse.java │ │ │ │ │ ├── QueryProductRecord.java │ │ │ │ │ ├── QueryProductRequest.java │ │ │ │ │ └── QueryProductResponse.java │ │ │ │ └── services │ │ │ │ │ └── ProductService.java │ │ │ ├── role │ │ │ │ ├── domains │ │ │ │ │ ├── CreateRoleRequest.java │ │ │ │ │ ├── CreateRoleResponse.java │ │ │ │ │ ├── DeleteRoleRequest.java │ │ │ │ │ ├── DeleteRoleResponse.java │ │ │ │ │ ├── FetchRoleRequest.java │ │ │ │ │ ├── FetchRoleResponse.java │ │ │ │ │ ├── QueryRoleRecord.java │ │ │ │ │ ├── QueryRoleRequest.java │ │ │ │ │ ├── QueryRoleResponse.java │ │ │ │ │ ├── ToUpdateRoleRequest.java │ │ │ │ │ ├── ToUpdateRoleResponse.java │ │ │ │ │ ├── UpdateRoleRequest.java │ │ │ │ │ └── UpdateRoleResponse.java │ │ │ │ └── services │ │ │ │ │ └── RoleService.java │ │ │ ├── subaction │ │ │ │ ├── domains │ │ │ │ │ ├── QuerySubActionRecord.java │ │ │ │ │ ├── QuerySubActionRequest.java │ │ │ │ │ └── QuerySubActionResponse.java │ │ │ │ └── services │ │ │ │ │ └── SubActionService.java │ │ │ └── user │ │ │ │ ├── domains │ │ │ │ ├── CreateUserRequest.java │ │ │ │ ├── CreateUserResponse.java │ │ │ │ ├── DisableUserRequest.java │ │ │ │ ├── DisableUserResponse.java │ │ │ │ ├── EnableUserRequest.java │ │ │ │ ├── EnableUserResponse.java │ │ │ │ ├── LogicDeleteUserRequest.java │ │ │ │ ├── LogicDeleteUserResponse.java │ │ │ │ ├── QueryUserRecord.java │ │ │ │ ├── QueryUserRequest.java │ │ │ │ ├── QueryUserResponse.java │ │ │ │ ├── ToUpdateUserRequest.java │ │ │ │ ├── ToUpdateUserResponse.java │ │ │ │ ├── UpdateUserRequest.java │ │ │ │ ├── UpdateUserResponse.java │ │ │ │ ├── ViewUserJobRecord.java │ │ │ │ ├── ViewUserRequest.java │ │ │ │ └── ViewUserResponse.java │ │ │ │ └── services │ │ │ │ └── UserService.java │ │ │ └── pages │ │ │ └── iam │ │ │ ├── ActionManagePage.java │ │ │ ├── ApplicationManagePage.java │ │ │ ├── AuthorityPage.java │ │ │ ├── BranchManagePage.java │ │ │ ├── CityManagePage.java │ │ │ ├── DepartmentManagePage.java │ │ │ ├── JobManagePage.java │ │ │ ├── ModuleManagePage.java │ │ │ ├── ProductManagePage.java │ │ │ ├── RoleAuthorityManagePage.java │ │ │ ├── RoleManagePage.java │ │ │ ├── Skeleton4jImportPage.java │ │ │ ├── SubActionManagePage.java │ │ │ ├── UserManagePage.java │ │ │ └── package-info.java │ └── resources │ │ ├── META-INF │ │ └── resources │ │ │ └── iam │ │ │ ├── css │ │ │ └── theme.css │ │ │ ├── images │ │ │ └── selects.png │ │ │ └── vendors │ │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ └── bootstrap.css │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ └── bootstrap.js │ │ │ ├── polyfill.js │ │ │ ├── select4 │ │ │ ├── select4-icon.eot │ │ │ ├── select4-icon.svg │ │ │ ├── select4-icon.ttf │ │ │ ├── select4-icon.woff │ │ │ ├── select4-icon.woff2 │ │ │ ├── select4-tree.js │ │ │ ├── select4.css │ │ │ └── select4.js │ │ │ └── vue │ │ │ ├── vue-resource.js │ │ │ └── vue.js │ │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ └── authority │ │ └── authority.html │ └── test │ ├── java │ └── com │ │ └── rnkrsoft │ │ └── opensource │ │ └── iam │ │ ├── Main.java │ │ └── skeleton4j │ │ └── interfaces │ │ ├── action │ │ └── services │ │ │ └── ActionServiceImpl.java │ │ ├── application │ │ └── services │ │ │ └── ApplicationServiceImpl.java │ │ ├── authority │ │ └── services │ │ │ └── AuthorityServiceImpl.java │ │ ├── branch │ │ └── services │ │ │ └── BranchServiceImpl.java │ │ ├── city │ │ └── services │ │ │ └── CityServiceImpl.java │ │ ├── department │ │ └── services │ │ │ └── DepartmentServiceImpl.java │ │ ├── job │ │ └── services │ │ │ └── JobServiceImpl.java │ │ ├── module │ │ └── services │ │ │ └── ModuleServiceImpl.java │ │ ├── product │ │ └── services │ │ │ └── ProductServiceImpl.java │ │ ├── role │ │ └── services │ │ │ └── RoleServiceImpl.java │ │ ├── subaction │ │ └── services │ │ │ └── SubActionServiceImpl.java │ │ └── user │ │ └── services │ │ └── UserServiceImpl.java │ └── resources │ └── log4j2.xml └── pom.xml /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | *.iml 3 | .idea 4 | .settings 5 | .project 6 | .classpath 7 | .git 8 | ~*.* 9 | .DS_Store 10 | .svn 11 | ~ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #扫码登录 2 | 1.调用生成二维码接口,将随机用户标识包含在url中,形如: WEB@aef5f08daeff41b49b183a880f38d791 3 | 2.通过APP扫描解析出url,然后调用验证接口,传入随机用户标识,用户号进行绑定 4 | 3.WEB前端不断轮询查询随机用户标识是否验证通过,通过则生成cookie,保存获取的用户信息 -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/IAMConfigKey.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam; 2 | 3 | /** 4 | * Created by rnkrsoft.com on 2019/7/8. 5 | */ 6 | public interface IAMConfigKey { 7 | String IAM_ZOOKEEPER = "iam.zookeeper"; 8 | String IAM_DEBUG = "iam.debug"; 9 | String IAM_COOKIE_NAME = "iam.cookieName"; 10 | String IAM_DOMAIN = "iam.cookieDomain"; 11 | String IAM_COOKIE_PASSWORD = "iam.cookiePassword"; 12 | String IAM_CHANGE_DEPARTMENT = "iam.changeDepartment"; 13 | String IAM_BASE_URL = "iam.baseUrl"; 14 | } 15 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/Action.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | import java.util.HashSet; 8 | import java.util.Set; 9 | 10 | @Data 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | @Builder 14 | @ToString 15 | public class Action implements Serializable { 16 | @ApidocElement("功能编号") 17 | String actionCode; 18 | @ApidocElement("功能编号") 19 | String actionName; 20 | @ApidocElement("操作id") 21 | Integer actionId; 22 | @ApidocElement("操作列表") 23 | final Set subActions = new HashSet(); 24 | } 25 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/Application.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | import java.util.HashSet; 8 | import java.util.Set; 9 | 10 | @Data 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | @Builder 14 | @ToString 15 | public class Application implements Serializable { 16 | @ApidocElement("系统编号") 17 | String appCode; 18 | @ApidocElement("系统名称") 19 | String appName; 20 | @ApidocElement("操作id") 21 | Integer appId; 22 | @ApidocElement("操作列表") 23 | final Set products = new HashSet(); 24 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/ApplicationInfo.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | @Builder 15 | @ToString 16 | public class ApplicationInfo implements Serializable{ 17 | @ApidocElement("系统编号") 18 | String appCode; 19 | @ApidocElement("系统名称") 20 | String appTitle; 21 | @ApidocElement("系统图标") 22 | String appIcon; 23 | @ApidocElement("是否拥有该权限") 24 | boolean owner=false; 25 | @ApidocElement("系统地址") 26 | String appUrl; 27 | } 28 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/AuthorityRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/22. 10 | */ 11 | @Data 12 | @ToString 13 | @Builder 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class AuthorityRecord implements Serializable{ 17 | @ApidocElement("路径") 18 | String path; 19 | @ApidocElement("系统编号") 20 | String appCode; 21 | @ApidocElement("系统名称") 22 | String appName; 23 | @ApidocElement("产品编号") 24 | String productCode; 25 | @ApidocElement("产品名称") 26 | String productName; 27 | @ApidocElement("功能编号") 28 | String actionCode; 29 | @ApidocElement("功能名称") 30 | String actionName; 31 | @ApidocElement("操作编号") 32 | String subActionCode; 33 | @ApidocElement("操作名称") 34 | String subActionName; 35 | } 36 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/AuthorizeUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.ChannelType; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | import javax.web.doc.annotation.ApidocElement; 10 | import java.io.Serializable; 11 | 12 | /** 13 | * Created by rnkrsoft.com on 2019/7/8. 14 | */ 15 | @Data 16 | @Builder 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | public class AuthorizeUserRequest implements Serializable{ 20 | @ApidocElement("用户标识,通过其他渠道获取的") 21 | String uuid; 22 | @ApidocElement(value = "渠道,uid对应的渠道", enumClass = ChannelType.class) 23 | String channel; 24 | @ApidocElement("已登录用户令牌") 25 | String token; 26 | @ApidocElement("已登录用户号") 27 | String userId; 28 | @ApidocElement("已登录用户名") 29 | String userName; 30 | } 31 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/AuthorizeUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/8. 9 | */ 10 | @Data 11 | public class AuthorizeUserResponse extends AbstractResponse{ 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/ChangeDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/11. 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | @Builder 18 | public class ChangeDepartmentRequest implements Serializable{ 19 | @ApidocElement("部门编号") 20 | Integer departmentId; 21 | @ApidocElement("用户令牌") 22 | String token; 23 | } 24 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchApplicationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/7. 11 | */ 12 | @Data 13 | @Builder 14 | public class FetchApplicationRequest implements Serializable{ 15 | @ApidocElement("用户号") 16 | String userId; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/7. 12 | */ 13 | @Data 14 | public class FetchApplicationResponse extends AbstractResponse{ 15 | @ApidocElement("记录") 16 | final List records = new ArrayList(); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchAuthorityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | @ToString 13 | public class FetchAuthorityRequest implements Serializable { 14 | @ApidocElement(value = "会话ID", maxLen = 36) 15 | String sessionId; 16 | 17 | @ApidocElement("应用代码") 18 | String appCode; 19 | 20 | @ApidocElement("用户编号") 21 | String userId; 22 | 23 | @ApidocElement("用户令牌") 24 | String token; 25 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchAuthorityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | @Data 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | @Builder 14 | @ToString 15 | public class FetchAuthorityResponse extends AbstractResponse { 16 | @ApidocElement("用户编号") 17 | String userId; 18 | @ApidocElement("权限") 19 | final List authorities = new ArrayList(); 20 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchConfigRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.AbstractResponse; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | @Builder 13 | public class FetchConfigRecord extends AbstractResponse{ 14 | String name; 15 | String value; 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchConfigRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchConfigRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchUsersRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.UserStatus; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | import javax.web.doc.annotation.ApidocElement; 10 | import java.io.Serializable; 11 | 12 | /** 13 | * Created by woate on 2019/7/27. 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | @Builder 19 | public class FetchUsersRequest implements Serializable{ 20 | @ApidocElement(value = "用户状态", enumClass = UserStatus.class, defaults = "1") 21 | Integer userStatus; 22 | } 23 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/FetchUsersResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.ToString; 4 | 5 | import javax.web.data.RootNode; 6 | 7 | /** 8 | * Created by woate on 2019/7/27. 9 | */ 10 | @ToString(callSuper = true) 11 | public class FetchUsersResponse extends RootNode{ 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/GetUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @Data 15 | @Builder 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class GetUserRequest implements Serializable{ 19 | @ApidocElement("用户编号") 20 | String userId; 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/LoginRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/8. 13 | */ 14 | @Data 15 | @Builder 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class LoginRequest implements Serializable{ 19 | @ApidocElement("手机号") 20 | String mobileNo; 21 | @ApidocElement("短信验证码") 22 | String code; 23 | @ApidocElement("渠道") 24 | String channel; 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/LogoutRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | /** 14 | * Created by rnkrsoft.com on 2019/7/7. 15 | */ 16 | @Data 17 | @Builder 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | public class LogoutRequest implements Serializable{ 21 | @ApidocElement("用户号") 22 | String userId; 23 | @ApidocElement("登出渠道") 24 | final List channels = new ArrayList(); 25 | @ApidocElement("用户令牌") 26 | String token; 27 | } 28 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/LogoutResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/7. 7 | */ 8 | public class LogoutResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/Product.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | import java.util.HashSet; 8 | import java.util.Set; 9 | 10 | 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | @Builder 15 | @ToString 16 | public class Product implements Serializable { 17 | @ApidocElement("项目编号") 18 | String productCode; 19 | @ApidocElement("项目名称") 20 | String productName; 21 | @ApidocElement("操作id") 22 | Integer productId; 23 | @ApidocElement("功能列表") 24 | final Set actions = new HashSet(); 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/SendSmsRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @Data 12 | @Builder 13 | public class SendSmsRequest implements Serializable{ 14 | String mobileNo; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/SendSmsResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @Data 12 | public class SendSmsResponse extends AbstractResponse{ 13 | @ApidocElement("短信验证码") 14 | String smsCode; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/SubAction.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | @Data 9 | @AllArgsConstructor 10 | @NoArgsConstructor 11 | @Builder 12 | @ToString 13 | public class SubAction implements Serializable { 14 | @ApidocElement("操作编号") 15 | String subActionCode; 16 | @ApidocElement("操作名称") 17 | String subActionName; 18 | @ApidocElement("操作id") 19 | Integer subActionId; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/TestAuthorizeUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.ChannelType; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | import javax.web.doc.annotation.ApidocElement; 10 | import java.io.Serializable; 11 | 12 | /** 13 | * Created by woate on 2019/7/15. 14 | */ 15 | @Data 16 | @Builder 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | public class TestAuthorizeUserRequest implements Serializable{ 20 | @ApidocElement("用户标识,通过其他渠道获取的") 21 | String uuid; 22 | @ApidocElement(value = "渠道,uid对应的渠道", enumClass = ChannelType.class) 23 | String channel; 24 | @ApidocElement("已登录用户令牌") 25 | String token; 26 | @ApidocElement("已登录用户号") 27 | String userId; 28 | @ApidocElement("已登录用户名") 29 | String userName; 30 | } 31 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/TestAuthorizeUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/15. 7 | */ 8 | public class TestAuthorizeUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/ValidateLoginRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | @Data 9 | @AllArgsConstructor 10 | @NoArgsConstructor 11 | @ToString 12 | @Builder 13 | public class ValidateLoginRequest implements Serializable{ 14 | @ApidocElement("用户编号") 15 | String userId; 16 | @ApidocElement("令牌") 17 | String token; 18 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/domains/ValidateLoginResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.domains; 2 | 3 | import lombok.Data; 4 | import lombok.ToString; 5 | 6 | import javax.web.doc.AbstractResponse; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | @Data 10 | @ToString(callSuper = true) 11 | public class ValidateLoginResponse extends AbstractResponse { 12 | @ApidocElement("用户标识") 13 | String userId; 14 | @ApidocElement("用户名") 15 | String userName; 16 | @ApidocElement("通道") 17 | String channel; 18 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/ActionStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum ActionStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | ActionStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static ActionStatus valueOfCode(int code){ 31 | for (ActionStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/AppStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | 4 | import com.rnkrsoft.interfaces.EnumIntegerCode; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/6. 8 | */ 9 | public enum AppStatus implements EnumIntegerCode { 10 | DISABLED(0,"禁用"), 11 | ENABLED(1,"启用"),; 12 | 13 | AppStatus(int code, String desc) { 14 | this.desc = desc; 15 | this.code = code; 16 | } 17 | 18 | int code; 19 | String desc; 20 | 21 | @Override 22 | public int getCode() { 23 | return code; 24 | } 25 | 26 | @Override 27 | public String getDesc() { 28 | return desc; 29 | } 30 | 31 | public static AppStatus valueOfCode(int code){ 32 | for (AppStatus value: values()){ 33 | if(value.getCode() == code){ 34 | return value; 35 | } 36 | } 37 | return DISABLED; 38 | } 39 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/ApplicationStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum ApplicationStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | ApplicationStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static ApplicationStatus valueOfCode(int code){ 31 | for (ApplicationStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/BranchStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum BranchStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | BranchStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static BranchStatus valueOfCode(int code){ 31 | for (BranchStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/ChannelType.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumStringCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum ChannelType implements EnumStringCode { 9 | WEB("WEB","WEB"), 10 | APP("APP","系统"); 11 | String code; 12 | String desc; 13 | 14 | ChannelType(String code, String desc) { 15 | this.code = code; 16 | this.desc = desc; 17 | } 18 | 19 | @Override 20 | public String getCode() { 21 | return code; 22 | } 23 | 24 | @Override 25 | public String getDesc() { 26 | return desc; 27 | } 28 | 29 | public static ChannelType valueOfCode(String code){ 30 | for (ChannelType value : values()){ 31 | if (value.code.equals(code)){ 32 | return value; 33 | } 34 | } 35 | return APP; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/CityStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | import com.rnkrsoft.interfaces.EnumStringCode; 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum CityStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | CityStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static CityStatus valueOfCode(int code){ 31 | for (CityStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/DepartmentStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum DepartmentStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | DepartmentStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static DepartmentStatus valueOfCode(int code){ 31 | for (DepartmentStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/GroupStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum GroupStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | GroupStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static GroupStatus valueOfCode(int code){ 31 | for (GroupStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/JobStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum JobStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | JobStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static JobStatus valueOfCode(int code){ 31 | for (JobStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/LogFormat.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumStringCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum LogFormat implements EnumStringCode { 9 | JSON("JSON", "JSON格式"), 10 | TEXT("TEXT", "TEXT格式"); 11 | 12 | LogFormat(String code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | String code; 18 | String desc; 19 | 20 | @Override 21 | public String getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/ProductStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum ProductStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | ProductStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static ProductStatus valueOfCode(int code){ 31 | for (ProductStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/ResourceType.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum ResourceType implements EnumIntegerCode { 9 | SKELETON4J(1,"Skeleton4j"), 10 | RESOURCE(2,"资源"),; 11 | 12 | ResourceType(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static ResourceType valueOfCode(int code){ 31 | for (ResourceType value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return SKELETON4J; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/RoleStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum RoleStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | RoleStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static RoleStatus valueOfCode(int code){ 31 | for (RoleStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/SexType.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum SexType implements EnumIntegerCode { 9 | UNKNOWN(-1,"未知性别"), 10 | MAN(1,"男性"), 11 | WOMAN(2,"女性"); 12 | 13 | SexType(int code, String desc) { 14 | this.desc = desc; 15 | this.code = code; 16 | } 17 | 18 | int code; 19 | String desc; 20 | 21 | @Override 22 | public int getCode() { 23 | return code; 24 | } 25 | 26 | @Override 27 | public String getDesc() { 28 | return desc; 29 | } 30 | 31 | public static SexType valueOfCode(int code){ 32 | for (SexType value: values()){ 33 | if(value.getCode() == code){ 34 | return value; 35 | } 36 | } 37 | return UNKNOWN; 38 | } 39 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/SubActionStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum SubActionStatus implements EnumIntegerCode { 9 | DISABLED(0,"禁用"), 10 | ENABLED(1,"启用"),; 11 | 12 | SubActionStatus(int code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | int code; 18 | String desc; 19 | 20 | @Override 21 | public int getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static SubActionStatus valueOfCode(int code){ 31 | for (SubActionStatus value: values()){ 32 | if(value.getCode() == code){ 33 | return value; 34 | } 35 | } 36 | return DISABLED; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/UserSource.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumStringCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum UserSource implements EnumStringCode { 9 | PARTNER("PARTNER","合作伙伴"), 10 | EMPLOYEE("EMPLOYEE","雇员"); 11 | 12 | UserSource(String code, String desc) { 13 | this.desc = desc; 14 | this.code = code; 15 | } 16 | 17 | String code; 18 | String desc; 19 | 20 | @Override 21 | public String getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | 30 | public static UserSource valueOfCode(String code){ 31 | for (UserSource value: values()){ 32 | if(value.getCode().equals(code)){ 33 | return value; 34 | } 35 | } 36 | return EMPLOYEE; 37 | } 38 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/UserStatus.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumIntegerCode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/6. 7 | */ 8 | public enum UserStatus implements EnumIntegerCode { 9 | NORMAL(1,"正常"), 10 | DISABLED(2,"禁用"), 11 | DELETED(3,"已删除"); 12 | 13 | UserStatus(int code, String desc) { 14 | this.desc = desc; 15 | this.code = code; 16 | } 17 | 18 | int code; 19 | String desc; 20 | 21 | @Override 22 | public int getCode() { 23 | return code; 24 | } 25 | 26 | @Override 27 | public String getDesc() { 28 | return desc; 29 | } 30 | 31 | public static UserStatus valueOfCode(int code){ 32 | for (UserStatus value: values()){ 33 | if(value.getCode() == code){ 34 | return value; 35 | } 36 | } 37 | return DISABLED; 38 | } 39 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/enums/YesOrNo.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.enums; 2 | 3 | import com.rnkrsoft.interfaces.EnumStringCode; 4 | /** 5 | * Created by rnkrsoft.com on 2019/7/6. 6 | */ 7 | public enum YesOrNo implements EnumStringCode { 8 | Y("1","是"), 9 | N("2","否"),; 10 | 11 | YesOrNo(String code, String desc) { 12 | this.desc = desc; 13 | this.code = code; 14 | } 15 | 16 | String code; 17 | String desc; 18 | 19 | @Override 20 | public String getCode() { 21 | return code; 22 | } 23 | 24 | @Override 25 | public String getDesc() { 26 | return desc; 27 | } 28 | 29 | public static YesOrNo valueOfCode(String code){ 30 | for (YesOrNo value: values()){ 31 | if(value.getCode().equals(code)){ 32 | return value; 33 | } 34 | } 35 | return N; 36 | } 37 | } -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/vo/Branch.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.vo; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/6. 11 | */ 12 | @Data 13 | @Builder 14 | public class Branch implements Serializable{ 15 | @ApidocElement("分支机构编号") 16 | Integer branchId; 17 | 18 | @ApidocElement("分支机构名称") 19 | String branchName; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/vo/City.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.vo; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/7. 11 | */ 12 | @Data 13 | @Builder 14 | public class City implements Serializable{ 15 | @ApidocElement("城市编号") 16 | Integer cityId; 17 | @ApidocElement("城市名称") 18 | String cityName; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/vo/Department.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.vo; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/6. 11 | */ 12 | @Data 13 | @Builder 14 | public class Department implements Serializable{ 15 | @ApidocElement("部门编号") 16 | Integer departmentId; 17 | @ApidocElement("部门名称") 18 | String departmentName; 19 | @ApidocElement("分支结构") 20 | Branch branch; 21 | @ApidocElement("城市") 22 | City city; 23 | @ApidocElement("岗位") 24 | Job Job; 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/vo/Job.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.vo; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/6. 11 | */ 12 | @Data 13 | @Builder 14 | public class Job implements Serializable{ 15 | @ApidocElement("岗位编号") 16 | Integer jobId; 17 | @ApidocElement("岗位名称") 18 | String jobName; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-api/src/main/java/com/rnkrsoft/opensource/iam/vo/Role.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.vo; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/6. 10 | */ 11 | @Data 12 | @Builder 13 | public class Role implements Serializable{ 14 | Integer roleId; 15 | String roleName; 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-client/src/main/resources/META-INF/extensions/javax.web.skeleton4j.authority.AuthorityExtractor: -------------------------------------------------------------------------------- 1 | com.rnkrsoft.opensource.iam.client.IAMAuthorityExtractor -------------------------------------------------------------------------------- /open-iam-client/src/main/resources/META-INF/extensions/javax.web.skeleton4j.authority.AuthorityService: -------------------------------------------------------------------------------- 1 | com.rnkrsoft.opensource.iam.client.IAMAuthorityService -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/dao/AuthorityCache.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.dao; 2 | 3 | import com.rnkrsoft.framework.orm.cache.*; 4 | import com.rnkrsoft.framework.orm.cache.Set; 5 | import com.rnkrsoft.opensource.iam.cache.entity.UserAuthorityCacheEntity; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/12. 9 | */ 10 | @Cache 11 | public interface AuthorityCache extends CacheInterface{ 12 | @Set(expire = 60) 13 | void create(String userAndApp, UserAuthorityCacheEntity session); 14 | 15 | @Get 16 | UserAuthorityCacheEntity get(String userAndApp); 17 | 18 | @Remove 19 | void delete(String userAndApp); 20 | 21 | @Expire 22 | void expire(String userAndApp, Integer expireSecond); 23 | 24 | @Keys 25 | java.util.Set keys(String keyword); 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/dao/SessionCache.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.dao; 2 | 3 | import com.rnkrsoft.framework.orm.cache.*; 4 | import com.rnkrsoft.opensource.iam.cache.entity.SessionEntity; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/7. 8 | */ 9 | @Cache 10 | public interface SessionCache extends CacheInterface{ 11 | @Set(expire = 10 * 60) 12 | void createSession(String token, SessionEntity session); 13 | 14 | @Set 15 | void createToken(String userIdAndChannel, String token); 16 | 17 | @Remove 18 | void deleteSession(String token); 19 | 20 | @Get 21 | SessionEntity getSession(String token); 22 | 23 | @Get 24 | String getToken(String userIdAndChannel); 25 | 26 | @Remove 27 | void deleteToken(String userIdAndChannel); 28 | 29 | @Expire 30 | void expireSession(String token, Integer expireSecond); 31 | } 32 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/dao/SmsCache.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.dao; 2 | 3 | import com.rnkrsoft.framework.orm.cache.*; 4 | import com.rnkrsoft.opensource.iam.cache.entity.SmsCodeEntity; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/7. 8 | */ 9 | @Cache 10 | public interface SmsCache extends CacheInterface{ 11 | 12 | @Set(expire = 60) 13 | void createSmsCode(String mobileNo, SmsCodeEntity entity); 14 | 15 | @Expire 16 | void expireSmsCode(String mobileNo, Integer expireSecond); 17 | 18 | @Get 19 | SmsCodeEntity get(String mobileNo); 20 | 21 | @Remove 22 | void remove(String mobileNo); 23 | } 24 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/dao/UserUuidCache.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.dao; 2 | 3 | import com.rnkrsoft.framework.orm.cache.*; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | @Cache 9 | public interface UserUuidCache extends CacheInterface { 10 | @Set(expire = 2 * 60) 11 | void createUuid(String uuid, String token); 12 | 13 | @Expire 14 | void expireUuid(String uuid, Integer expireSecond); 15 | 16 | @Get 17 | String getUuid(String uuid); 18 | 19 | @Remove 20 | void remove(String uuid); 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/entity/SmsCodeEntity.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.entity; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | @Data 9 | @Builder 10 | public class SmsCodeEntity implements Serializable { 11 | /** 12 | * 手机号 13 | */ 14 | String mobileNo; 15 | /** 16 | * 短信验证码 17 | */ 18 | String smsCode; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/cache/entity/UserAuthorityCacheEntity.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.cache.entity; 2 | 3 | import com.rnkrsoft.opensource.iam.jdbc.bo.FetchAuthorityByAppAndUserBO; 4 | import lombok.Data; 5 | import lombok.ToString; 6 | 7 | import java.io.Serializable; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @Data 15 | @ToString 16 | public class UserAuthorityCacheEntity implements Serializable{ 17 | final List records = new ArrayList(); 18 | } 19 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/FetchAuthorityByAppAndUserBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | import lombok.ToString; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/10. 10 | */ 11 | @Data 12 | @ToString 13 | public class FetchAuthorityByAppAndUserBO implements Serializable{ 14 | Integer appId; 15 | String appCode; 16 | String appTitle; 17 | Integer productId; 18 | String productCode; 19 | String productTitle; 20 | Integer actionId; 21 | String actionCode; 22 | String actionTitle; 23 | Integer subActionId; 24 | String subActionCode; 25 | String subActionTitle; 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/FetchAuthorityByAppBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/10. 9 | */ 10 | @Data 11 | public class FetchAuthorityByAppBO implements Serializable{ 12 | Integer appId; 13 | String appCode; 14 | String appTitle; 15 | Integer productId; 16 | String productCode; 17 | String productTitle; 18 | Integer actionId; 19 | String actionCode; 20 | String actionTitle; 21 | Integer subActionId; 22 | String subActionCode; 23 | String subActionTitle; 24 | } 25 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/GetUserInfoBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/11. 9 | */ 10 | @Data 11 | public class GetUserInfoBO implements Serializable{ 12 | Integer departmentId; 13 | String departmentName; 14 | Integer branchId; 15 | String branchName; 16 | Integer cityId; 17 | String cityName; 18 | Integer jobId; 19 | String jobName; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryActionBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.io.Serializable; 9 | import java.util.Date; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/10. 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | @Builder 18 | public class QueryActionBO implements Serializable{ 19 | Integer actionId; 20 | String actionCode; 21 | String applicationTitle; 22 | String productTitle; 23 | String actionTitle; 24 | Integer actionStatus; 25 | Date createDate; 26 | Date lastUpdateDate; 27 | } 28 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryAuthorityBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/11. 9 | */ 10 | @Data 11 | public class QueryAuthorityBO implements Serializable{ 12 | Integer authorityId; 13 | Integer resourceType; 14 | Integer resourceId; 15 | String resourceCode; 16 | String resourceName; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryBranchBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/9. 9 | */ 10 | @Data 11 | public class QueryBranchBO implements Serializable{ 12 | Integer branchId; 13 | String branchName; 14 | String cityName; 15 | Integer branchStatus; 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryDepartmentBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/9. 9 | */ 10 | @Data 11 | public class QueryDepartmentBO implements Serializable{ 12 | Integer departmentId; 13 | String departmentName; 14 | String branchName; 15 | String cityName; 16 | Integer departmentStatus; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryJobBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by woate on 2019/7/17. 9 | */ 10 | @Data 11 | public class QueryJobBO implements Serializable{ 12 | Integer jobId; 13 | String jobName; 14 | Integer jobStatus; 15 | Integer departmentId; 16 | String departmentName; 17 | Integer branchId; 18 | String branchName; 19 | Integer cityId; 20 | String cityName; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryProductBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/10. 10 | */ 11 | @Data 12 | public class QueryProductBO implements Serializable{ 13 | Integer productId; 14 | String productCode; 15 | String productTitle; 16 | String appTitle; 17 | Integer productStatus; 18 | Date createDate; 19 | Date lastUpdateDate; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QuerySubActionBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/10. 10 | */ 11 | @Data 12 | public class QuerySubActionBO implements Serializable{ 13 | Integer subActionId; 14 | String subActionCode; 15 | String subActionTitle; 16 | String actionTitle; 17 | String productTitle; 18 | String appTitle; 19 | Integer subActionStatus; 20 | Date createDate; 21 | Date lastUpdateDate; 22 | } 23 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/QueryUserBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/9. 10 | */ 11 | @Data 12 | public class QueryUserBO implements Serializable{ 13 | String userId; 14 | String userName; 15 | String nickName; 16 | String userAvatar; 17 | String mobileNo; 18 | Integer userStatus; 19 | Boolean firstLogin; 20 | Integer latestDepartmentId; 21 | String roles; 22 | String branches; 23 | String jobs; 24 | String departments; 25 | String cities; 26 | Date createDate; 27 | Date lastUpdateDate; 28 | } 29 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/bo/SelectJobBO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/12. 9 | */ 10 | @Data 11 | public class SelectJobBO implements Serializable{ 12 | Integer mappingId; 13 | Integer jobId; 14 | String jobName; 15 | Integer departmentId; 16 | String departmentName; 17 | Integer branchId; 18 | String branchName; 19 | Integer cityId; 20 | String cityName; 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/ActionDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryActionBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.entity.ActionEntity; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2018/10/23. 13 | */ 14 | public interface ActionDAO extends JdbcMapper { 15 | Pagination queryAction(Pagination pagination); 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/ApplicationDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.entity.ApplicationEntity; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2018/10/23. 12 | */ 13 | public interface ApplicationDAO extends JdbcMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/BranchDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryBranchBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.entity.BranchEntity; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2018/10/24. 10 | */ 11 | public interface BranchDAO extends JdbcMapper { 12 | Pagination queryBranch(Pagination pagination); 13 | } 14 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/ChannelDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.ChannelEntity; 5 | 6 | /** 7 | * Created by woate on 2019/7/14. 8 | */ 9 | public interface ChannelDAO extends JdbcMapper{ 10 | } 11 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/CityDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.entity.CityEntity; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2018/10/24. 9 | */ 10 | public interface CityDAO extends JdbcMapper { 11 | Pagination queryCity(Pagination pagination); 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/DepartmentDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.GetUserInfoBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryDepartmentBO; 7 | import com.rnkrsoft.opensource.iam.jdbc.entity.DepartmentEntity; 8 | import org.apache.ibatis.annotations.Param; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * rnkrsoft.com 框架自动生成! 14 | */ 15 | public interface DepartmentDAO extends JdbcMapper { 16 | Pagination queryDepartment(Pagination pagination); 17 | /** 18 | * 根据用户号,查询所处部门 19 | * @param userId 20 | * @return 21 | */ 22 | List selectByUserId(@Param("userId")String userId); 23 | } 24 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/GroupDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.entity.GroupEntity; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2018/10/23. 12 | */ 13 | public interface GroupDAO extends JdbcMapper { 14 | } 15 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/GroupRoleDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.GroupRoleEntity; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2018/10/23. 8 | */ 9 | public interface GroupRoleDAO extends JdbcMapper { 10 | } 11 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/JobDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryJobBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.bo.SelectJobBO; 7 | import com.rnkrsoft.opensource.iam.jdbc.entity.JobEntity; 8 | import org.apache.ibatis.annotations.Param; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * rnkrsoft.com 框架自动生成! 14 | */ 15 | public interface JobDAO extends JdbcMapper { 16 | /** 17 | * 根据用户编号获取岗位列表 18 | * @param userId 19 | * @return 20 | */ 21 | List selectByUserId(@Param("userId")String userId); 22 | 23 | List selectJobByUserId(@Param("userId")String userId); 24 | 25 | Pagination queryJob(Pagination pagination); 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/ProductDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryProductBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.entity.ProductEntity; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2018/10/23. 10 | */ 11 | public interface ProductDAO extends JdbcMapper { 12 | Pagination queryProduct(Pagination pagination); 13 | } 14 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/RoleAuthorityDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.RoleAuthorityEntity; 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import java.util.Set; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2018/10/24. 11 | */ 12 | public interface RoleAuthorityDAO extends JdbcMapper { 13 | void insertAuthorities(@Param("roleId")Integer roleId, @Param("subActions")Set subActions); 14 | } 15 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/RoleDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.RoleEntity; 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2018/10/24. 11 | */ 12 | public interface RoleDAO extends JdbcMapper { 13 | /** 14 | * 根据用户编号查询角色列表 15 | * @param userId 16 | * @return 17 | */ 18 | List selectByUserId(@Param("userId")String userId); 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/SubActionDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QuerySubActionBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.entity.SubActionEntity; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2018/10/23. 10 | */ 11 | public interface SubActionDAO extends JdbcMapper { 12 | Pagination querySubAction(Pagination pagination); 13 | } 14 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/UserDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.Pagination; 4 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 5 | import com.rnkrsoft.opensource.iam.jdbc.bo.QueryUserBO; 6 | import com.rnkrsoft.opensource.iam.jdbc.entity.UserEntity; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2018/10/24. 10 | */ 11 | public interface UserDAO extends JdbcMapper { 12 | Pagination queryUser(Pagination pagination); 13 | } 14 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/UserGroupDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.UserGroupEntity; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2018/10/25. 8 | */ 9 | public interface UserGroupDAO extends JdbcMapper { 10 | } 11 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/UserJobDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.UserJobEntity; 5 | 6 | /** 7 | * rnkrsoft.com 框架自动生成! 8 | */ 9 | public interface UserJobDAO extends JdbcMapper { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/dao/UserRoleDAO.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.dao; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.JdbcMapper; 4 | import com.rnkrsoft.opensource.iam.jdbc.entity.UserRoleEntity; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2018/10/24. 8 | */ 9 | public interface UserRoleDAO extends JdbcMapper { 10 | } 11 | -------------------------------------------------------------------------------- /open-iam-dao/src/main/java/com/rnkrsoft/opensource/iam/jdbc/entity/ChannelEntity.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.jdbc.entity; 2 | 3 | import com.rnkrsoft.framework.orm.PrimaryKey; 4 | import com.rnkrsoft.framework.orm.PrimaryKeyStrategy; 5 | import com.rnkrsoft.framework.orm.jdbc.*; 6 | import lombok.*; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * Created by woate on 2019/7/14. 12 | */ 13 | @Data 14 | @Builder 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | @ToString 18 | @Table(name = "CHANNEL", prefix = "TB", suffix = "INFO") 19 | @Comment("渠道") 20 | public class ChannelEntity extends BaseEntity implements Serializable { 21 | @PrimaryKey(strategy = PrimaryKeyStrategy.AUTO) 22 | @Comment("渠道编号") 23 | @StringColumn(name = "CHANNEL_NO", nullable = false, type = StringType.VARCHAR) 24 | String channelNo; 25 | @Comment("渠道名") 26 | @StringColumn(name = "CHANNEL_NAME", nullable = false, type = StringType.VARCHAR) 27 | String channelName; 28 | } 29 | -------------------------------------------------------------------------------- /open-iam-dao/src/test/java/com/rnkrsoft/opensource/iam/SqlTest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam; 2 | 3 | import com.rnkrsoft.framework.orm.jdbc.NameMode; 4 | import com.rnkrsoft.framework.orm.jdbc.WordMode; 5 | import com.rnkrsoft.framework.orm.jdbc.mysql.DataEngineType; 6 | import com.rnkrsoft.framework.orm.untils.SqlScriptUtils; 7 | import org.junit.Test; 8 | 9 | import java.io.IOException; 10 | 11 | public class SqlTest { 12 | @Test 13 | public void test2() throws IOException { 14 | SqlScriptUtils.generate("./target/sql.sql", NameMode.customize, "", NameMode.customize, "tb", NameMode.entity, "", DataEngineType.InnoDB, WordMode.lowerCase, WordMode.lowerCase, true, true, "com.rnkrsoft.opensource.iam.jdbc"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-facade/interface-platform/logger.properties: -------------------------------------------------------------------------------- 1 | #logger 2 | #Thu Aug 22 20:45:11 CST 2019 3 | logger.directory=logs 4 | logger.sout=true 5 | logger.prefix=interface-platform 6 | logger.suffix=log 7 | logger.level=TRACE 8 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/channel/domains/GetAlreadyLoginChannelsRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.channel.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/14. 10 | */ 11 | @Data 12 | public class GetAlreadyLoginChannelsRecord implements Serializable{ 13 | @ApidocElement("渠道号") 14 | String channelNo; 15 | @ApidocElement("渠道名") 16 | String channelName; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/channel/domains/GetAlreadyLoginChannelsRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.channel.domains; 2 | 3 | import com.rnkrsoft.platform.protocol.TokenAble; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/14. 10 | */ 11 | @Data 12 | public class GetAlreadyLoginChannelsRequest implements Serializable, TokenAble{ 13 | String token; 14 | } 15 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/channel/domains/GetAlreadyLoginChannelsResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.channel.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by woate on 2019/7/14. 12 | */ 13 | @Data 14 | public class GetAlreadyLoginChannelsResponse extends AbstractResponse{ 15 | @ApidocElement("记录") 16 | final List records = new ArrayList(); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/channel/domains/GetChannelDetailRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.channel.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class GetChannelDetailRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/channel/domains/GetChannelDetailResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.channel.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class GetChannelDetailResponse extends AbstractResponse{ 9 | String channelNo; 10 | String channelName; 11 | } 12 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/department/domains/SearchDepartmentRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.department.domains; 2 | 3 | import javax.web.doc.annotation.ApidocElement; 4 | import java.io.Serializable; 5 | 6 | /** 7 | * Created by woate on 2019/7/14. 8 | */ 9 | public class SearchDepartmentRecord implements Serializable{ 10 | @ApidocElement("部门编号") 11 | String departmentId; 12 | @ApidocElement("部门名称") 13 | String departmentName; 14 | @ApidocElement("分支机构编号") 15 | String branchId; 16 | @ApidocElement("分支机构名称") 17 | String branchName; 18 | @ApidocElement("城市编号") 19 | String cityId; 20 | @ApidocElement("城市名称") 21 | String cityName; 22 | @ApidocElement("部门图标") 23 | String departmentIcon; 24 | @ApidocElement("用户总数") 25 | Integer userTotal; 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/department/domains/SearchDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.department.domains; 2 | 3 | import javax.web.doc.annotation.ApidocElement; 4 | import java.io.Serializable; 5 | 6 | /** 7 | * Created by woate on 2019/7/14. 8 | */ 9 | public class SearchDepartmentRequest implements Serializable{ 10 | @ApidocElement("关键字,支持部门名称,分支机构名称,允许为空") 11 | String keyword; 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/department/domains/SearchDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.department.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class SearchDepartmentResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/department/facade/DepartmentFacade.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.department.facade; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.department.domains.SearchDepartmentRequest; 4 | import com.rnkrsoft.opensource.iam.gateway.department.domains.SearchDepartmentResponse; 5 | 6 | import javax.web.doc.annotation.ApidocInterface; 7 | import javax.web.doc.annotation.ApidocService; 8 | 9 | /** 10 | * Created by woate on 2019/7/14. 11 | */ 12 | @ApidocService(value = "部门服务", channel = "iam") 13 | public interface DepartmentFacade { 14 | @ApidocInterface(value = "搜索部门", name = "501", version = "1") 15 | SearchDepartmentResponse searchDepartment(SearchDepartmentRequest request); 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/domains/BindLoginRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.ChannelType; 4 | import com.rnkrsoft.platform.protocol.TokenAble; 5 | import com.rnkrsoft.platform.protocol.UserInfoAble; 6 | import lombok.AllArgsConstructor; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | import javax.web.doc.annotation.ApidocElement; 12 | import java.io.Serializable; 13 | 14 | /** 15 | * Created by rnkrsoft.com on 2019/7/12. 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | @Builder 21 | public class BindLoginRequest implements Serializable, TokenAble, UserInfoAble{ 22 | @ApidocElement(value = "随机用户识别码", maxLen = 36) 23 | String uuid; 24 | @ApidocElement(value = "渠道", maxLen = 36, enumClass = ChannelType.class, defaults = "WEB") 25 | String channel; 26 | String token; 27 | String userId; 28 | String userName; 29 | } 30 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/domains/BindLoginResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.domains; 2 | 3 | import lombok.*; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/12. 9 | */ 10 | @Data 11 | @Builder 12 | @NoArgsConstructor 13 | @ToString(callSuper = true) 14 | public class BindLoginResponse extends AbstractResponse{ 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/domains/CheckUuidRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.ChannelType; 4 | import com.rnkrsoft.platform.protocol.TokenAble; 5 | import com.rnkrsoft.platform.protocol.UserInfoAble; 6 | import lombok.AllArgsConstructor; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | import javax.web.doc.annotation.ApidocElement; 12 | import java.io.Serializable; 13 | 14 | /** 15 | * Created by woate on 2019/7/15. 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | @Builder 21 | public class CheckUuidRequest implements Serializable, TokenAble, UserInfoAble { 22 | @ApidocElement(value = "随机用户识别码", maxLen = 36) 23 | String uuid; 24 | @ApidocElement(value = "渠道", maxLen = 36, enumClass = ChannelType.class, defaults = "WEB") 25 | String channel; 26 | String token; 27 | String userId; 28 | String userName; 29 | } 30 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/domains/CheckUuidResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/15. 7 | */ 8 | public class CheckUuidResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/domains/SmsLoginRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | @Builder 18 | public class SmsLoginRequest implements Serializable{ 19 | @ApidocElement(value = "手机号码", minLen = 11, maxLen = 11) 20 | String mobileNo; 21 | @ApidocElement(value = "短信验证码", minLen = 6, maxLen = 6) 22 | String smsCode; 23 | } 24 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/login/facade/LoginFacade.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.login.facade; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.login.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/12. 10 | */ 11 | @ApidocService(value = "登录服务", channel = "iam") 12 | public interface LoginFacade { 13 | @ApidocInterface(value = "短信登录", name = "101", version = "1", usage = "用于短信登录APP渠道") 14 | SmsLoginResponse smsLogin(SmsLoginRequest request); 15 | 16 | 17 | @ApidocInterface(value = "检测随即令牌是否有效", name = "102", version = "1", usage = "用于对指定通道的随机令牌进行检测") 18 | CheckUuidResponse checkUuid(CheckUuidRequest request); 19 | 20 | @ApidocInterface(value = "授权绑定登录", name = "103", version = "1", usage = "用于对指定通道授权登录") 21 | BindLoginResponse bindLogin(BindLoginRequest request); 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/logout/domains/LogoutByChannelRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.logout.domains; 2 | 3 | import com.rnkrsoft.platform.protocol.TokenAble; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by woate on 2019/7/14. 11 | */ 12 | @Data 13 | public class LogoutByChannelRequest implements Serializable, TokenAble{ 14 | String token; 15 | @ApidocElement("渠道") 16 | String channel; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/logout/domains/LogoutByChannelResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.logout.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class LogoutByChannelResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/logout/domains/LogoutRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.logout.domains; 2 | 3 | import com.rnkrsoft.platform.protocol.TokenAble; 4 | import com.rnkrsoft.platform.protocol.UserInfoAble; 5 | import lombok.Data; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by woate on 2019/7/14. 11 | */ 12 | @Data 13 | public class LogoutRequest implements Serializable, TokenAble, UserInfoAble{ 14 | String token; 15 | String userId; 16 | String userName; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/logout/domains/LogoutResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.logout.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class LogoutResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/domains/GetNoticeRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by woate on 2019/7/17. 13 | */ 14 | @Data 15 | @Builder 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class GetNoticeRecord implements Serializable{ 19 | @ApidocElement("通知编号") 20 | String noticeId; 21 | @ApidocElement("通知标题") 22 | String noticeTitle; 23 | @ApidocElement("通知内容") 24 | String noticeContent; 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/domains/GetNoticeRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.skeleton4j.session.LoginUserId; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/17. 10 | */ 11 | @Data 12 | public class GetNoticeRequest implements Serializable, LoginUserId{ 13 | String loginUserId; 14 | } -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/domains/GetNoticeResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by woate on 2019/7/17. 12 | */ 13 | @Data 14 | public class GetNoticeResponse extends AbstractResponse{ 15 | @ApidocElement("记录") 16 | final List records = new ArrayList(); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/domains/ReadNoticeRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/25. 10 | */ 11 | @Data 12 | public class ReadNoticeRequest implements Serializable{ 13 | @ApidocElement("通知编号") 14 | String noticeId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/domains/ReadNoticeResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.domains; 2 | 3 | import lombok.ToString; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | 7 | /** 8 | * Created by woate on 2019/7/25. 9 | */ 10 | @ToString(callSuper = true) 11 | public class ReadNoticeResponse extends AbstractResponse{ 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/notice/facade/NoticeFacade.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.notice.facade; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.notice.domains.GetNoticeRequest; 4 | import com.rnkrsoft.opensource.iam.gateway.notice.domains.GetNoticeResponse; 5 | import com.rnkrsoft.opensource.iam.gateway.notice.domains.ReadNoticeRequest; 6 | import com.rnkrsoft.opensource.iam.gateway.notice.domains.ReadNoticeResponse; 7 | 8 | import javax.web.doc.annotation.ApidocInterface; 9 | import javax.web.doc.annotation.ApidocService; 10 | 11 | /** 12 | * Created by woate on 2019/7/17. 13 | */ 14 | @ApidocService(value = "通知服务", channel = "iam") 15 | public interface NoticeFacade { 16 | @ApidocInterface(value = "获取通知", name = "601", version = "1") 17 | GetNoticeResponse getNotice(GetNoticeRequest request); 18 | @ApidocInterface(value = "读取通知", name = "602", version = "1") 19 | ReadNoticeResponse readNotice(ReadNoticeRequest request); 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/sms/domains/SendLoginSmsRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.sms.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @Data 15 | @Builder 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class SendLoginSmsRequest implements Serializable { 19 | @ApidocElement(value = "手机号码", minLen = 11, maxLen = 11) 20 | String mobileNo; 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/sms/domains/SendLoginSmsResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.sms.domains; 2 | 3 | import lombok.Data; 4 | import lombok.ToString; 5 | 6 | import javax.web.doc.AbstractResponse; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/12. 11 | */ 12 | @Data 13 | @ToString(callSuper = true) 14 | public class SendLoginSmsResponse extends AbstractResponse{ 15 | @ApidocElement("短信验证码") 16 | String smsCode; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/sms/domains/SendNoticeSmsRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.sms.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by woate on 2019/7/14. 10 | */ 11 | @Data 12 | public class SendNoticeSmsRequest implements Serializable{ 13 | @ApidocElement(value = "手机号码", minLen = 11, maxLen = 11) 14 | String mobileNo; 15 | @ApidocElement(value = "短信内容", minLen = 1, maxLen = 128) 16 | String content; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/sms/domains/SendNoticeSmsResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.sms.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class SendNoticeSmsResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/sms/facade/SmsFacade.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.sms.facade; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.sms.domains.SendLoginSmsRequest; 4 | import com.rnkrsoft.opensource.iam.gateway.sms.domains.SendLoginSmsResponse; 5 | import com.rnkrsoft.opensource.iam.gateway.sms.domains.SendNoticeSmsRequest; 6 | import com.rnkrsoft.opensource.iam.gateway.sms.domains.SendNoticeSmsResponse; 7 | 8 | import javax.web.doc.annotation.ApidocInterface; 9 | import javax.web.doc.annotation.ApidocService; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @ApidocService(value = "短信服务", channel = "iam") 15 | public interface SmsFacade { 16 | @ApidocInterface(value = "发送登录短信", name = "301", version = "1") 17 | SendLoginSmsResponse sendLoginSms(SendLoginSmsRequest request); 18 | @ApidocInterface(value = "发送通知短信", name = "302", version = "1") 19 | SendNoticeSmsResponse sendNoticeSms(SendNoticeSmsRequest request); 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/domains/GetMyInfoRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.domains; 2 | 3 | import com.rnkrsoft.platform.protocol.TokenAble; 4 | import com.rnkrsoft.platform.protocol.UserInfoAble; 5 | import lombok.Data; 6 | 7 | import javax.web.doc.annotation.ApidocElement; 8 | import java.io.Serializable; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/12. 12 | */ 13 | @Data 14 | public class GetMyInfoRequest implements Serializable, TokenAble, UserInfoAble{ 15 | String token; 16 | String userId; 17 | String userName; 18 | } 19 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/domains/GetUserDetailRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.domains; 2 | 3 | import com.rnkrsoft.platform.protocol.TokenAble; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by woate on 2019/7/14. 11 | */ 12 | @Data 13 | public class GetUserDetailRequest implements Serializable, TokenAble{ 14 | @ApidocElement("用户编号") 15 | String userId; 16 | String token; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/domains/SearchUserRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by woate on 2019/7/14. 7 | */ 8 | public class SearchUserRecord implements Serializable{ 9 | String userId; 10 | String userName; 11 | /** 12 | * 用户头像 13 | */ 14 | String userAvatar; 15 | String mobileNo; 16 | String nickName; 17 | String jobId; 18 | String jobName; 19 | String branchId; 20 | String branchName; 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/domains/SearchUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.YesOrNo; 4 | import com.rnkrsoft.platform.protocol.TokenAble; 5 | import lombok.Data; 6 | 7 | import javax.web.doc.annotation.ApidocElement; 8 | import java.io.Serializable; 9 | 10 | /** 11 | * Created by woate on 2019/7/14. 12 | */ 13 | @Data 14 | public class SearchUserRequest implements Serializable, TokenAble{ 15 | @ApidocElement("关键字,支持用户姓名拼音,用户姓名汉字,手机号,昵称等") 16 | String keyword; 17 | @ApidocElement(value = "是否支持模糊搜索", enumClass = YesOrNo.class, defaults = "1") 18 | int fuzzy; 19 | String token; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/domains/SearchUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by woate on 2019/7/14. 12 | */ 13 | @Data 14 | public class SearchUserResponse extends AbstractResponse{ 15 | @ApidocElement("搜索结果") 16 | final List records = new ArrayList(); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-facade/src/main/java/com/rnkrsoft/opensource/iam/gateway/user/facade/UserFacade.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.user.facade; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.user.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/12. 10 | */ 11 | @ApidocService(value = "用户服务", channel = "iam") 12 | public interface UserFacade { 13 | @ApidocInterface(value = "获取我的信息", name = "201", version = "1", usage = "获取当前登录用户的详细信息") 14 | GetMyInfoResponse getMyInfo(GetMyInfoRequest request); 15 | @ApidocInterface(value = "获取用户信息", name = "202", version = "1", usage = "用于根据已知用户编号情况下获取用户的详细信息") 16 | GetUserDetailResponse getUserDetail(GetUserDetailRequest request); 17 | @ApidocInterface(value = "搜索用户", name = "203", version = "1", usage = "根据搜索关键字搜索用户") 18 | SearchUserResponse searchUser(SearchUserRequest request); 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-facade/src/test/java/com/rnkrsoft/opensource/iam/gateway/Test2.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway; 2 | 3 | import com.rnkrsoft.platform.compiler.InterfacePlatformSQLGenerator; 4 | 5 | import java.io.File; 6 | import java.io.IOException; 7 | 8 | /** 9 | * Created by woate on 2019/7/14. 10 | */ 11 | public class Test2 { 12 | public static void main(String[] args) throws IOException { 13 | InterfacePlatformSQLGenerator.generate(new File("./target/init.sql"), "com.rnkrsoft.opensource.iam.gateway"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/java/com/rnkrsoft/opensource/iam/gateway/config/IAMConfig.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.config; 2 | 3 | import com.rnkrsoft.framework.config.annotation.DynamicConfig; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/12. 7 | */ 8 | @DynamicConfig 9 | public class IAMConfig { 10 | } 11 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/java/com/rnkrsoft/opensource/iam/gateway/facades/DepartmentFacadeImpl.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.gateway.facades; 2 | 3 | import com.rnkrsoft.opensource.iam.gateway.department.domains.SearchDepartmentRequest; 4 | import com.rnkrsoft.opensource.iam.gateway.department.domains.SearchDepartmentResponse; 5 | import com.rnkrsoft.opensource.iam.gateway.department.facade.DepartmentFacade; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * Created by woate on 2019/7/14. 10 | */ 11 | @Service 12 | public class DepartmentFacadeImpl implements DepartmentFacade { 13 | @Override 14 | public SearchDepartmentResponse searchDepartment(SearchDepartmentRequest request) { 15 | return null; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/resources/applicationContext-cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | com.rnkrsoft.opensource.iam.cache 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/resources/applicationContext-dubbo.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/resources/config/datasource.properties: -------------------------------------------------------------------------------- 1 | #jdbc.driver=com.mysql.jdbc.Driver 2 | #jdbc.url=jdbc:mysql://localhost:3333/iam_gateway?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 3 | #jdbc.username=root 4 | #jdbc.password=root 5 | 6 | 7 | 8 | jdbc.driver=org.h2.Driver 9 | jdbc.url=jdbc:h2:file:./target/iam_gateway;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1;MODE=MySQL 10 | jdbc.username=sa 11 | jdbc.password=sa 12 | 13 | cache.url=localhost 14 | cache.port=6379 15 | cache.index=0 16 | cache.password= 17 | 18 | zookeeper.address=zookeeper://localhost:2181 19 | 20 | -------------------------------------------------------------------------------- /open-iam-gateway/src/main/resources/log4jdbc.log4j2.properties: -------------------------------------------------------------------------------- 1 | log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator 2 | 3 | #Optional parameters 4 | #log4jdbc.debug.stack.prefix=^ 5 | #log4jdbc.sqltiming.warn.threshold= 6 | log4jdbc.dump.sql.select=true 7 | log4jdbc.dump.sql.insert=true 8 | log4jdbc.dump.sql.update=false 9 | log4jdbc.dump.sql.delete=false -------------------------------------------------------------------------------- /open-iam-internal-api/src/main/java/com/rnkrsoft/opensource/iam/internal/qrcode/domains/CheckQrCodeRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.internal.qrcode.domains; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | @Builder 14 | public class CheckQrCodeRequest implements Serializable{ 15 | @ApidocElement("用户随机识别码") 16 | String uuid; 17 | @ApidocElement("已登陆用户TOKEN") 18 | String token; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-internal-api/src/main/java/com/rnkrsoft/opensource/iam/internal/qrcode/domains/GenerateQrCodeRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.internal.qrcode.domains; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @Data 12 | @Builder 13 | public class GenerateQrCodeRequest implements Serializable{ 14 | } 15 | -------------------------------------------------------------------------------- /open-iam-internal-api/src/main/java/com/rnkrsoft/opensource/iam/internal/qrcode/domains/GenerateQrCodeResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.internal.qrcode.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | import javax.web.doc.annotation.ApidocElement; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @Data 12 | public class GenerateQrCodeResponse extends AbstractResponse{ 13 | @ApidocElement("随机用户识别码") 14 | String uuid; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-internal-api/src/main/java/com/rnkrsoft/opensource/iam/internal/qrcode/services/QrCodeLoginService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.internal.qrcode.services; 2 | 3 | import com.rnkrsoft.opensource.iam.internal.qrcode.domains.CheckQrCodeRequest; 4 | import com.rnkrsoft.opensource.iam.internal.qrcode.domains.CheckQrCodeResponse; 5 | import com.rnkrsoft.opensource.iam.internal.qrcode.domains.GenerateQrCodeRequest; 6 | import com.rnkrsoft.opensource.iam.internal.qrcode.domains.GenerateQrCodeResponse; 7 | 8 | import javax.web.doc.annotation.ApidocInterface; 9 | import javax.web.doc.annotation.ApidocService; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | * 二维码登陆服务 14 | */ 15 | @ApidocService("二维码登录服务") 16 | public interface QrCodeLoginService { 17 | @ApidocInterface("生成二维码") 18 | GenerateQrCodeResponse generate(GenerateQrCodeRequest request); 19 | @ApidocInterface("检查二维码中的随机用户识别码是否绑定授权") 20 | CheckQrCodeResponse check(CheckQrCodeRequest request); 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-internal-api/src/main/java/com/rnkrsoft/opensource/iam/internal/sms/services/SmsService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.internal.sms.services; 2 | 3 | /** 4 | * Created by rnkrsoft.com on 2019/7/7. 5 | */ 6 | public interface SmsService { 7 | /** 8 | * 发送短信 9 | * @param mobileNo 手机号 10 | * @param code 验证码 11 | */ 12 | void sendValidateMessage(String mobileNo, String code); 13 | 14 | /** 15 | * 发送通知短信 16 | * @param mobileNo 手机号 17 | * @param message 短消息 18 | */ 19 | void sendNoticeMessage(String mobileNo, String message); 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-server/src/main/java/com/rnkrsoft/opensource/iam/Main.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam; 2 | 3 | import com.rnkrsoft.embedded.boot.EmbeddedApplicationLoader; 4 | import com.rnkrsoft.embedded.boot.annotation.EmbeddedBootApplication; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/7. 8 | */ 9 | @EmbeddedBootApplication( 10 | hostName = "localhost", 11 | port = 80 12 | ) 13 | public class Main { 14 | public static void main(String[] args) throws Exception { 15 | EmbeddedApplicationLoader.runWith(Main.class, args); 16 | } 17 | } -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/avatars/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/avatars/default.jpg -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/FontAwesome.otf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/awesome/font/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/icon/application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/icon/application.png -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/icon/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/icon/logo.png -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/icon/logo@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/icon/logo@2.png -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/image/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/image/background1.jpg -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/image/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/image/background2.jpg -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/image/background3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/image/background3.jpg -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/image/background4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/image/background4.jpg -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.eot -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.woff -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/font/iconfont.woff2 -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/0.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/1.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/10.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/11.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/12.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/13.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/14.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/15.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/16.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/17.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/18.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/19.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/2.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/20.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/21.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/22.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/23.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/24.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/25.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/26.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/27.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/28.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/29.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/3.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/30.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/31.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/32.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/33.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/34.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/35.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/36.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/37.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/38.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/39.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/4.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/40.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/41.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/42.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/43.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/44.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/45.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/46.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/47.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/48.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/49.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/5.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/50.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/51.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/52.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/53.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/54.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/55.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/56.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/57.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/58.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/59.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/6.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/60.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/61.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/62.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/63.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/64.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/65.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/66.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/67.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/68.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/69.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/7.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/70.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/71.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/8.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/layui/images/face/9.gif -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.eot -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.ttf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.woff -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-server/src/main/resources/META-INF/resources/static/login/fonts/iconfont.woff2 -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/applicationContext-cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | com.rnkrsoft.opensource.iam.cache.dao 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/applicationContext-iam.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/applicationContext.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/config/datasource.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=net.sf.log4jdbc.sql.jdbcapi.DriverSpy 2 | #jdbc.driver=com.mysql.jdbc.Driver 3 | #jdbc.url=jdbc:log4jdbc:mysql://localhost:3333/iam?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 4 | #jdbc.username=root 5 | #jdbc.password=root 6 | 7 | #jdbc.driver=org.h2.Driver 8 | jdbc.url=jdbc:log4jdbc:h2:file:./target/iam1;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1;MODE=MySQL 9 | jdbc.username=sa 10 | jdbc.password=sa 11 | 12 | cache.url=localhost 13 | cache.port=6379 14 | cache.index=0 15 | cache.password= 16 | 17 | zookeeper.address=zookeeper://localhost:2181 18 | 19 | -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/config/iam.properties: -------------------------------------------------------------------------------- 1 | iam.domain=localhost 2 | iam.iamBaseUrl=http://localhost 3 | iam.mobileUrl=http://localhost 4 | iam.cookieName=iam-token 5 | iam.cookiePassword=1234567890123456 6 | iam.logo=/static/icon/logo@2.png 7 | iam.title=\u8eab\u4efd\u8bc6\u522b\u4e0e\u8bbf\u95ee\u7ba1\u7406 8 | iam.desc=\u8eab\u4efd\u8bc6\u522b\u4e0e\u8bbf\u95ee\u7ba1\u7406 9 | iam.debug=true 10 | iam.useAuthorityCache=false 11 | iam.default.loginType=sms 12 | #iam.default.loginType=qr 13 | iam.copyright=\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u7cfb\u7edf -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/config/sms.properties: -------------------------------------------------------------------------------- 1 | com.aliyun.sms.accessKeyId= 2 | com.aliyun.sms.accessKeySecret= 3 | com.aliyun.sms.validateSms.templateCode= 4 | com.aliyun.sms.noticeSms.templateCode= 5 | com.aliyun.sms.aliyunSignName= -------------------------------------------------------------------------------- /open-iam-server/src/main/resources/log4jdbc.log4j2.properties: -------------------------------------------------------------------------------- 1 | log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator -------------------------------------------------------------------------------- /open-iam-server/src/test/resource/config/datasource.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.url=jdbc:mysql://localhost:3333/iam?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 3 | jdbc.username=root 4 | jdbc.password=root 5 | 6 | 7 | 8 | #jdbc.driver=org.h2.Driver 9 | #jdbc.url=jdbc:h2:file:./target/iam;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1;MODE=MySQL 10 | #jdbc.username=sa 11 | #jdbc.password=sa 12 | 13 | ##jituan 14 | cache.url=localhost 15 | cache.port=6379 16 | cache.index=0 17 | cache.password= 18 | 19 | zookeeper.address=zookeeper://localhost:2181 20 | 21 | -------------------------------------------------------------------------------- /open-iam-server/src/test/resource/config/iam.properties: -------------------------------------------------------------------------------- 1 | iam.domain=evpopwork.com 2 | iam.iamBaseUrl=http://iam.rnkrsoft.com:8002 3 | iam.mobileUrl=http://iam.rnkrsoft.com:8002 4 | #iam.domain=localhost 5 | #iam.iamBaseUrl=http://localhost 6 | #iam.mobileUrl=http://localhost 7 | iam.cookieName=iam-token 8 | iam.cookiePassword=1234567890123456 9 | iam.logo=/static/image/logo.png 10 | iam.title=\u8eab\u4efd\u8bc6\u522b\u4e0e\u8bbf\u95ee\u7ba1\u7406 11 | iam.debug=false 12 | #iam.default.loginType=sms 13 | iam.default.loginType=qr 14 | iam.copyright=\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u7cfb\u7edf -------------------------------------------------------------------------------- /open-iam-server/src/test/resource/config/sms.properties: -------------------------------------------------------------------------------- 1 | com.aliyun.sms.accessKeyId= 2 | com.aliyun.sms.accessKeySecret= 3 | com.aliyun.sms.validateSms.templateCode= 4 | com.aliyun.sms.noticeSms.templateCode= 5 | com.aliyun.sms.aliyunSignName= -------------------------------------------------------------------------------- /open-iam-service/src/main/java/com/rnkrsoft/opensource/iam/services/MockSmsService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.services; 2 | 3 | import com.rnkrsoft.opensource.iam.internal.sms.services.SmsService; 4 | import lombok.extern.slf4j.Slf4j; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/8. 8 | */ 9 | @Slf4j 10 | public class MockSmsService implements SmsService{ 11 | @Override 12 | public void sendValidateMessage(String mobileNo, String code) { 13 | log.info("正在发送短信【{}】到手机‘{}’", code, mobileNo); 14 | } 15 | 16 | @Override 17 | public void sendNoticeMessage(String mobileNo, String message) { 18 | log.info("正在发送短信【{}】到手机‘{}’", message, mobileNo); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/IAM.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam; 2 | 3 | import javax.web.skeleton4j.annotation.Skeleton4jModule; 4 | import javax.web.skeleton4j.enums.InterfaceCall; 5 | 6 | /** 7 | * Created by rnkrsoft.com on 2019/7/7. 8 | */ 9 | @Skeleton4jModule( 10 | name = "IAM", 11 | desc = "开源身份识别与访问管理", 12 | interfacePackages = { 13 | "com.rnkrsoft.opensource.iam.skeleton4j.interfaces" 14 | }, 15 | pagePackages = { 16 | "com.rnkrsoft.opensource.iam.skeleton4j.pages" 17 | }, 18 | call = InterfaceCall.DUBBO 19 | ) 20 | public interface IAM { 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/action/domains/FetchActionRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchActionRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/action/domains/FetchActionResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchActionResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/action/domains/QueryActionResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryActionResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/action/services/ActionService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains.FetchActionRequest; 4 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains.FetchActionResponse; 5 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains.QueryActionRequest; 6 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.domains.QueryActionResponse; 7 | 8 | import javax.web.doc.annotation.ApidocInterface; 9 | import javax.web.doc.annotation.ApidocService; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @ApidocService("功能服务") 15 | public interface ActionService { 16 | @ApidocInterface("查询") 17 | QueryActionResponse query(QueryActionRequest request); 18 | @ApidocInterface("拉取") 19 | FetchActionResponse fetch(FetchActionRequest request); 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/CreateApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateApplicationResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/DeleteApplicationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DeleteApplicationRequest implements Serializable{ 13 | @ApidocElement(value = "应用编号", unique = true, maxLen = 10) 14 | Integer appId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/DeleteApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteApplicationResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/FetchApplicationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchApplicationRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/FetchApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchApplicationResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/FixApplicationAuthorityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class FixApplicationAuthorityRequest implements Serializable{ 13 | @ApidocElement(value = "应用编号", unique = true, maxLen = 10) 14 | Integer appId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/FixApplicationAuthorityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FixApplicationAuthorityResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/QueryApplicationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.ApplicationStatus; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.AbstractRequestPage; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | public class QueryApplicationRequest extends AbstractRequestPage{ 14 | @ApidocElement(value = "应用代码", maxLen = 36, required = false, placeholder = "请输入应用代码") 15 | String appCode; 16 | @ApidocElement(value = "应用名称", maxLen = 40, required = false, placeholder = "支持模糊查找") 17 | String appTitle; 18 | @ApidocElement(value = "状态", maxLen = 20, enumClass = ApplicationStatus.class, defaults = "1") 19 | Integer appStatus; 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/QueryApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryApplicationResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/ToUpdateApplicationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ToUpdateApplicationRequest implements Serializable{ 13 | @ApidocElement(value = "应用编号", unique = true, maxLen = 10) 14 | Integer appId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/application/domains/UpdateApplicationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.application.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class UpdateApplicationResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/domains/BatchUpdateAuthorityByRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class BatchUpdateAuthorityByRoleRequest implements Serializable{ 13 | @ApidocElement("角色编号") 14 | Integer roleId; 15 | @ApidocElement("应用代码") 16 | String appId; 17 | @ApidocElement(value = "数据,为Node的JSON数据", maxLen = Integer.MAX_VALUE) 18 | String data; 19 | @Data 20 | public static class Node { 21 | Integer subActionId; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/domains/BatchUpdateAuthorityByRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class BatchUpdateAuthorityByRoleResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/domains/FetchAuthorityByRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class FetchAuthorityByRoleRequest implements Serializable{ 13 | @ApidocElement("角色编号") 14 | Integer roleId; 15 | @ApidocElement("应用代码") 16 | Integer appId; 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/domains/FetchAuthorityByRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchAuthorityByRoleResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/domains/QueryAuthorityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryAuthorityResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/authority/services/AuthorityService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @ApidocService("权限服务") 12 | public interface AuthorityService { 13 | @ApidocInterface("按照角色获取权限") 14 | FetchAuthorityByRoleResponse fetchAuthorityByRole(FetchAuthorityByRoleRequest request); 15 | @ApidocInterface("查询权限") 16 | QueryAuthorityResponse query(QueryAuthorityRequest request); 17 | @ApidocInterface("批量修改权限") 18 | BatchUpdateAuthorityByRoleResponse batchUpdateByRole(BatchUpdateAuthorityByRoleRequest request); 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/CreateBranchResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateBranchResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/DeleteBranchRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DeleteBranchRequest implements Serializable{ 13 | @ApidocElement(value = "机构编号", maxLen = 10, unique = true) 14 | Integer branchId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/DeleteBranchResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteBranchResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/FetchBranchRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchBranchRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/FetchBranchResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchBranchResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/QueryBranchResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryBranchResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/ToUpdateBranchRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.services.BranchService; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import javax.web.skeleton4j.annotation.WebCascadeInterface; 8 | import java.io.Serializable; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/8. 12 | */ 13 | @Data 14 | public class ToUpdateBranchRequest implements Serializable{ 15 | @ApidocElement(value = "机构编号", unique = true, maxLen = 10, interfaces = { 16 | @WebCascadeInterface(serviceClass = BranchService.class, value = "update", confirm = true) 17 | }) 18 | Integer branchId; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/UpdateBranchRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class UpdateBranchRequest implements Serializable{ 13 | @ApidocElement(value = "分支机构编号", maxLen = 10, unique = true) 14 | Integer branchId; 15 | @ApidocElement(value = "分支机构名称", maxLen = 10) 16 | String branchName; 17 | @ApidocElement(value = "城市", maxLen = 10) 18 | Integer cityId; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/branch/domains/UpdateBranchResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.branch.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class UpdateBranchResponse extends AbstractResponse { 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/CreateCityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class CreateCityRequest implements Serializable{ 13 | @ApidocElement(value = "城市名称", maxLen = 36) 14 | String cityName; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/CreateCityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateCityResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/DeleteCityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DeleteCityRequest implements Serializable{ 13 | @ApidocElement(value = "城市编号", maxLen = 36, unique = true) 14 | Integer cityId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/DeleteCityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteCityResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/FetchCityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchCityRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/FetchCityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchCityResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/QueryCityRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.CityStatus; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.AbstractRequestPage; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | public class QueryCityRequest extends AbstractRequestPage{ 14 | @ApidocElement(value = "城市名称", maxLen = 36, required = false, placeholder = "请输入城市名称,支持模糊查询") 15 | String cityName; 16 | @ApidocElement(value = "城市状态", required = false, enumClass = CityStatus.class, defaults = "1") 17 | Integer cityStatus; 18 | } 19 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/domains/QueryCityResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryCityResponse extends AbstractResponsePage { 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/city/services/CityService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.city.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @ApidocService("城市服务") 12 | public interface CityService { 13 | @ApidocInterface("创建") 14 | CreateCityResponse create(CreateCityRequest request); 15 | @ApidocInterface("删除") 16 | DeleteCityResponse delete(DeleteCityRequest request); 17 | @ApidocInterface("查询") 18 | QueryCityResponse query(QueryCityRequest request); 19 | @ApidocInterface("拉取") 20 | FetchCityResponse fetch(FetchCityRequest request); 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/CreateDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateDepartmentResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/DeleteDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DeleteDepartmentRequest implements Serializable{ 13 | @ApidocElement(value = "部门编号", maxLen = 36, unique = true) 14 | Integer departmentId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/DeleteDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteDepartmentResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/FetchDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchDepartmentRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/FetchDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchDepartmentResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/QueryDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryDepartmentResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/ToUpdateDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ToUpdateDepartmentRequest implements Serializable{ 13 | @ApidocElement(value = "部门编号", maxLen = 36, unique = true) 14 | Integer departmentId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/UpdateDepartmentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class UpdateDepartmentRequest implements Serializable{ 13 | @ApidocElement(value = "部门编号", maxLen = 36, unique = true) 14 | Integer departmentId; 15 | @ApidocElement(value = "部门名称", maxLen = 36) 16 | String departmentName; 17 | @ApidocElement(value = "分支机构", maxLen = 36) 18 | Integer branchId; 19 | } 20 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/department/domains/UpdateDepartmentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.department.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class UpdateDepartmentResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/CreateJobResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateJobResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/DeleteJobRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | public class DeleteJobRequest implements Serializable { 14 | @ApidocElement(value = "岗位编号", maxLen = 36, unique = true) 15 | Integer jobId; 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/DeleteJobResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteJobResponse extends AbstractResponse { 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/FetchJobRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchJobRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/FetchJobResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchJobResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/QueryJobResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryJobResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/ToUpdateJobRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ToUpdateJobRequest implements Serializable { 13 | @ApidocElement(value = "岗位编号", maxLen = 36, unique = true) 14 | Integer jobId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/UpdateJobRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.JobStatus; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.annotation.ApidocElement; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | public class UpdateJobRequest implements Serializable { 14 | @ApidocElement(value = "岗位编号", maxLen = 36, unique = true) 15 | Integer jobId; 16 | @ApidocElement(value = "岗位名称", maxLen = 36) 17 | String jobName; 18 | @ApidocElement(value = "所属部门", maxLen = 36) 19 | Integer departmentId; 20 | @ApidocElement(value = "岗位状态", maxLen = 10, enumClass = JobStatus.class) 21 | Integer jobStatus; 22 | } 23 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/domains/UpdateJobResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class UpdateJobResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/job/services/JobService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.job.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/7. 10 | */ 11 | @ApidocService("岗位服务") 12 | public interface JobService { 13 | @ApidocInterface("查询") 14 | QueryJobResponse query(QueryJobRequest request); 15 | @ApidocInterface("创建") 16 | CreateJobResponse create(CreateJobRequest request); 17 | @ApidocInterface("编辑查看") 18 | ToUpdateJobResponse toUpdate(ToUpdateJobRequest request); 19 | @ApidocInterface("编辑") 20 | UpdateJobResponse update(UpdateJobRequest request); 21 | @ApidocInterface("删除") 22 | DeleteJobResponse delete(DeleteJobRequest request); 23 | @ApidocInterface("拉取") 24 | FetchJobResponse fetch(FetchJobRequest request); 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/domains/GenerateModuleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import javax.web.skeleton4j.upload.UploadFileAble; 10 | import java.io.File; 11 | import java.io.Serializable; 12 | 13 | /** 14 | * Created by rnkrsoft.com on 2019/7/10. 15 | */ 16 | @Data 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | @Builder 20 | public class GenerateModuleRequest implements Serializable, UploadFileAble{ 21 | @ApidocElement(value = "接口包名", required = false) 22 | String interfacePackages; 23 | @ApidocElement(value = "页面包名", required = false) 24 | String pagePackages; 25 | @ApidocElement(value = "应用代码", required = false) 26 | String appCode; 27 | String uploadFile; 28 | } 29 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/domains/GenerateModuleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/10. 7 | */ 8 | public class GenerateModuleResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/domains/ImportModuleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/10. 7 | */ 8 | public class ImportModuleResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/domains/QueryModuleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains; 2 | 3 | import javax.web.doc.AbstractRequestPage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/10. 7 | */ 8 | public class QueryModuleRequest extends AbstractRequestPage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/domains/QueryModuleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/10. 7 | */ 8 | public class QueryModuleResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/services/JarFileService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains.GenerateModuleRequest; 4 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains.GenerateModuleResponse; 5 | 6 | import javax.web.doc.annotation.ApidocInterface; 7 | import javax.web.doc.annotation.ApidocService; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/11. 11 | */ 12 | @ApidocService("架包服务") 13 | public interface JarFileService { 14 | @ApidocInterface("生成模块") 15 | GenerateModuleResponse generateModule(GenerateModuleRequest request); 16 | } 17 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/services/ModuleService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains.*; 4 | 5 | import javax.web.doc.annotation.ApidocInterface; 6 | import javax.web.doc.annotation.ApidocService; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/10. 10 | */ 11 | @ApidocService("模块服务") 12 | public interface ModuleService { 13 | @ApidocInterface("导入模块") 14 | ImportModuleResponse importModule(ImportModuleRequest request); 15 | @ApidocInterface("查询") 16 | QueryModuleResponse queryModule(QueryModuleRequest request); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/product/domains/FetchProductRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/9. 7 | */ 8 | public class FetchProductRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/product/domains/FetchProductResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/9. 7 | */ 8 | public class FetchProductResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/product/domains/QueryProductResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryProductResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/product/services/ProductService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains.FetchProductRequest; 4 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains.FetchProductResponse; 5 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains.QueryProductRequest; 6 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.domains.QueryProductResponse; 7 | 8 | import javax.web.doc.annotation.ApidocInterface; 9 | import javax.web.doc.annotation.ApidocService; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @ApidocService("产品管理服务") 15 | public interface ProductService { 16 | @ApidocInterface("查询") 17 | QueryProductResponse query(QueryProductRequest request); 18 | @ApidocInterface("拉取") 19 | FetchProductResponse fetch(FetchProductRequest request); 20 | } 21 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/CreateRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class CreateRoleRequest implements Serializable{ 13 | @ApidocElement(value = "角色名称", maxLen = 36) 14 | String roleName; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/CreateRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateRoleResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/DeleteRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DeleteRoleRequest implements Serializable{ 13 | @ApidocElement(value = "角色编号", unique = true) 14 | Integer roleId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/DeleteRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DeleteRoleResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/FetchRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchRoleRequest implements Serializable{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/FetchRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import javax.web.data.RootNode; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class FetchRoleResponse extends RootNode{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/QueryRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.RoleStatus; 4 | import lombok.Data; 5 | 6 | import javax.web.doc.AbstractRequestPage; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | /** 10 | * Created by rnkrsoft.com on 2019/7/8. 11 | */ 12 | @Data 13 | public class QueryRoleRequest extends AbstractRequestPage{ 14 | @ApidocElement(value = "角色名称", maxLen = 36, required = false, placeholder = "请输入角色名称,支持模糊查询") 15 | String roleName; 16 | @ApidocElement(value = "角色状态", maxLen = 10, enumClass = RoleStatus.class, defaults = "1") 17 | Integer roleStatus; 18 | } 19 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/QueryRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QueryRoleResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/ToUpdateRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ToUpdateRoleRequest implements Serializable{ 13 | @ApidocElement(value = "角色编号", unique = true) 14 | Integer roleId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/UpdateRoleRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | 4 | import com.rnkrsoft.opensource.iam.enums.RoleStatus; 5 | import lombok.Data; 6 | 7 | import javax.web.doc.annotation.ApidocElement; 8 | import java.io.Serializable; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/8. 12 | */ 13 | @Data 14 | public class UpdateRoleRequest implements Serializable{ 15 | @ApidocElement(value = "角色编号", unique = true) 16 | Integer roleId; 17 | @ApidocElement(value = "角色名称", maxLen = 36) 18 | String roleName; 19 | @ApidocElement(value = "角色状态", maxLen = 10, enumClass = RoleStatus.class) 20 | Integer roleStatus; 21 | } 22 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/role/domains/UpdateRoleResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.role.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.AbstractResponse; 6 | 7 | /** 8 | * Created by rnkrsoft.com on 2019/7/8. 9 | */ 10 | @Data 11 | public class UpdateRoleResponse extends AbstractResponse{ 12 | } 13 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/subaction/domains/QuerySubActionResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.subaction.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class QuerySubActionResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/subaction/services/SubActionService.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.subaction.services; 2 | 3 | 4 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.subaction.domains.QuerySubActionRequest; 5 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.subaction.domains.QuerySubActionResponse; 6 | 7 | import javax.web.doc.annotation.ApidocInterface; 8 | import javax.web.doc.annotation.ApidocService; 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/7. 12 | */ 13 | @ApidocService("操作服务") 14 | public interface SubActionService { 15 | @ApidocInterface("查询") 16 | QuerySubActionResponse query(QuerySubActionRequest request); 17 | } 18 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/CreateUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class CreateUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/DisableUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class DisableUserRequest implements Serializable{ 13 | @ApidocElement(value = "用户号", unique = true, hidden = true) 14 | String userId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/DisableUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class DisableUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/EnableUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class EnableUserRequest implements Serializable{ 13 | @ApidocElement(value = "用户号", unique = true, hidden = true) 14 | String userId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/EnableUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class EnableUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/LogicDeleteUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class LogicDeleteUserRequest implements Serializable{ 13 | @ApidocElement(value = "用户号", unique = true, hidden = true) 14 | String userId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/LogicDeleteUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class LogicDeleteUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/QueryUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import com.rnkrsoft.opensource.iam.enums.UserStatus; 4 | import lombok.*; 5 | 6 | import javax.web.doc.AbstractRequestPage; 7 | import javax.web.doc.annotation.ApidocElement; 8 | 9 | 10 | /** 11 | * Created by rnkrsoft.com on 2019/7/7. 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | @ToString(callSuper = true) 17 | @Builder 18 | public class QueryUserRequest extends AbstractRequestPage { 19 | @ApidocElement(value = "用户名",required = false) 20 | String userName; 21 | @ApidocElement(value = "昵称",required = false) 22 | String nickName; 23 | @ApidocElement(value = "手机号",required = false) 24 | String mobileNo; 25 | 26 | @ApidocElement(value = "状态", enumClass = UserStatus.class, required = false) 27 | Integer userStatus; 28 | } 29 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/QueryUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponsePage; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/7. 7 | */ 8 | public class QueryUserResponse extends AbstractResponsePage{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/ToUpdateUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ToUpdateUserRequest implements Serializable{ 13 | @ApidocElement(value = "用户号", unique = true, hidden = true) 14 | String userId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/UpdateUserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import javax.web.doc.AbstractResponse; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/8. 7 | */ 8 | public class UpdateUserResponse extends AbstractResponse{ 9 | } 10 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/ViewUserJobRecord.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.web.doc.annotation.ApidocElement; 9 | import java.io.Serializable; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/12. 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | @Builder 18 | public class ViewUserJobRecord implements Serializable{ 19 | @ApidocElement(value = "岗位映射编号", hidden = true) 20 | Integer jobMappingId; 21 | @ApidocElement(value = "部门") 22 | String departmentName; 23 | @ApidocElement(value = "岗位") 24 | String jobName; 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/user/domains/ViewUserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.user.domains; 2 | 3 | import lombok.Data; 4 | 5 | import javax.web.doc.annotation.ApidocElement; 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by rnkrsoft.com on 2019/7/8. 10 | */ 11 | @Data 12 | public class ViewUserRequest implements Serializable{ 13 | @ApidocElement(value = "用户号", unique = true, hidden = true) 14 | String userId; 15 | } 16 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/pages/iam/ActionManagePage.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.pages.iam; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.action.services.ActionService; 4 | 5 | import javax.web.skeleton4j.annotation.WebImport; 6 | import javax.web.skeleton4j.annotation.WebNamespace; 7 | import javax.web.skeleton4j.annotation.WebPage; 8 | import javax.web.skeleton4j.enums.WebGui; 9 | import javax.web.skeleton4j.enums.WebMode; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @WebPage(priority = 6, 15 | displayName = "功能管理", 16 | author = "master", 17 | namespaces = { 18 | @WebNamespace( 19 | imports = { 20 | @WebImport(gui = WebGui.FORM, mode = WebMode.QUERY, serviceClass = ActionService.class, value = "query") 21 | } 22 | ) 23 | }) 24 | public class ActionManagePage { 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/pages/iam/AuthorityPage.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.pages.iam; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.authority.services.AuthorityService; 4 | 5 | import javax.web.skeleton4j.annotation.WebImport; 6 | import javax.web.skeleton4j.annotation.WebNamespace; 7 | import javax.web.skeleton4j.annotation.WebPage; 8 | import javax.web.skeleton4j.enums.WebGui; 9 | import javax.web.skeleton4j.enums.WebMode; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @WebPage(priority = 2, 15 | displayName = "权限管理", 16 | author = "master", 17 | namespaces = { 18 | @WebNamespace( 19 | imports = { 20 | @WebImport(displayName = "查询", gui = WebGui.FORM, mode = WebMode.QUERY, serviceClass = AuthorityService.class, value = "query") 21 | } 22 | ) 23 | }) 24 | public class AuthorityPage { 25 | } 26 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/pages/iam/ProductManagePage.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.pages.iam; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.product.services.ProductService; 4 | 5 | import javax.web.skeleton4j.annotation.WebImport; 6 | import javax.web.skeleton4j.annotation.WebNamespace; 7 | import javax.web.skeleton4j.annotation.WebPage; 8 | import javax.web.skeleton4j.enums.WebGui; 9 | import javax.web.skeleton4j.enums.WebMode; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @WebPage(priority = 5, 15 | displayName = "产品管理", 16 | author = "master", 17 | namespaces = { 18 | @WebNamespace( 19 | imports = { 20 | @WebImport(gui = WebGui.FORM, mode = WebMode.QUERY, serviceClass = ProductService.class, value = "query") 21 | } 22 | ) 23 | } 24 | ) 25 | public class ProductManagePage { 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/pages/iam/SubActionManagePage.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.pages.iam; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.subaction.services.SubActionService; 4 | 5 | import javax.web.skeleton4j.annotation.WebImport; 6 | import javax.web.skeleton4j.annotation.WebNamespace; 7 | import javax.web.skeleton4j.annotation.WebPage; 8 | import javax.web.skeleton4j.enums.WebGui; 9 | import javax.web.skeleton4j.enums.WebMode; 10 | 11 | /** 12 | * Created by rnkrsoft.com on 2019/7/7. 13 | */ 14 | @WebPage(priority =7, 15 | displayName = "操作管理", 16 | author = "master", 17 | namespaces = { 18 | @WebNamespace( 19 | imports = { 20 | @WebImport(gui = WebGui.FORM, mode = WebMode.QUERY, serviceClass = SubActionService.class, value = "query") 21 | } 22 | ) 23 | } 24 | ) 25 | public class SubActionManagePage { 26 | } 27 | -------------------------------------------------------------------------------- /open-iam-ui/src/main/java/com/rnkrsoft/opensource/iam/skeleton4j/pages/iam/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by rnkrsoft.com on 2019/7/7. 3 | */ 4 | @WebModule(displayName = "IAM系统") 5 | package com.rnkrsoft.opensource.iam.skeleton4j.pages.iam; 6 | 7 | import javax.web.skeleton4j.annotation.WebModule; -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/images/selects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/images/selects.png -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.eot -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.ttf -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.woff -------------------------------------------------------------------------------- /open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rnkrsoft/OpenIAM/efbbfe323af42a48f83c263ec408c5018ab4cf4e/open-iam-ui/src/main/resources/META-INF/resources/iam/vendors/select4/select4-icon.woff2 -------------------------------------------------------------------------------- /open-iam-ui/src/test/java/com/rnkrsoft/opensource/iam/skeleton4j/interfaces/module/services/ModuleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.services; 2 | 3 | import com.rnkrsoft.opensource.iam.skeleton4j.interfaces.module.domains.*; 4 | 5 | /** 6 | * Created by rnkrsoft.com on 2019/7/10. 7 | */ 8 | public class ModuleServiceImpl implements ModuleService{ 9 | @Override 10 | public ImportModuleResponse importModule(ImportModuleRequest request) { 11 | return null; 12 | } 13 | 14 | @Override 15 | public QueryModuleResponse queryModule(QueryModuleRequest request) { 16 | return null; 17 | } 18 | } 19 | --------------------------------------------------------------------------------