[精讚] [會員登入]
578

雲端校務系統與OPENLDAP帳號整合(3)

二 建置更改密碼服務 下載校端更改密碼程式: 連結 檢查是否安裝java 8 #java -version 安裝open

分享此文連結 //n.sfs.tw/13277

分享連結 雲端校務系統與OPENLDAP帳號整合(3) @igogo
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-09-15 15:24:55 最後編修
2019-05-05 16:49:45 By igogo
 

 

二 建置更改密碼服務

 

下載校端更改密碼程式: 連結

 

 

 

檢查是否安裝java

 

 

 

#java -version

 

安裝openjdk 11

#sudo  apt install openjdk-11-jdk

 

 

 

編輯config.json

{

 

"clientid": "clientid",

"secret": "secret",

"ldap":"ldap.json",

"authorize_endpoint": "http://api.cloudschool.tw/school-oauth/authorize",

"accesstoken_endpoint": "http://api.cloudschool.tw/oauth?authorize",

"changepasswd_endpoint": "http://api.cloudschool.tw/change-password",

"semesterdata_endpoint" : "http://api.cloudschool.tw/semester-data"

}

 

ldap.json 即將ldap設定指向同文件夾裡的檔名

 

編輯ldap.json

{
"ldap_server": "127.0.0.1",
"ldap_port": 389,
"rootdn": "cn=admin,dc=happy,dc=tc,dc=edu,dc=tw",
"passwd": "topsecret",
"basedn": "dc=happy,dc=tc,dc=edu,dc=tw",
"rdn": "uid",
"uidnumber": 5000,
"role": [{
"ou": "teacher",
"gid": 5000,
"home": "/home/teacher"
},
{
"ou": "student",
"gid": 5001,
"home": "/home/student"
}
],
"sambaobjectclass" : "sambaSamAccount",
"sid" : "S-1-5-21-2183872810-781909459-436610516"
}

 

 

uidNumber 為新增使用者的起始uidnumber, 5000開始

 

  • 依校務雲端傳回的資料角色別有teacher student 兩個群組, 因此ou應命名為student, teacher

 

下一部份 SAMBA+LDAP 才會用到以下設定

如果只想提供LDAP SERVER 而不需要SAMBA, 保留格式如下

 

"objectclass" : "",

"sid" : ""

 

 

LDAP 若只想新增特定角色, 例如只新增雲校校務系統帶進來的角色別是teacher

 

ldap.json

{

"ldap_server": "127.0.0.1",

"ldap_port": 389,

"rootdn": "cn=admin,dc=happy,dc=tc,dc=edu,dc=tw",

"passwd": "topsecret",

"basedn": "dc=happy,dc=tc,dc=edu,dc=tw",

"rdn": "uid",

"uidnumber": 5000,

"identity": "uid",

"role": [{

"ou": "teacher",

"gid": 5000,

"home": "/home/teacher"

}],

"sambaobjectclass": "",

"sid": ""

}

 

 

 

  • 如果是學生身分, homeDirectory 的設定會再加上學年 例如 /home/student/107/107-10701, 取的學年值是根據雲端校務系統中學生帳號裡的前三碼決定

 

至此LDAP 結合校端更改密碼服務設定已完成

可直接執行校端更改密碼服務

 

 

#java -jar passwd.jar

 

預設port8080, 如果想指定不同的port, 例如80

 

#java -Djava.net.preferIPv4Stack=true -Dserver.port=80 -jar passwd.jar

 

 

建置過程中, 可先利用一測試帳號反覆進行, 茲提供刪除指令

 

 

刪除使用者

 

 

# ldapdelete -D "cn=admin,dc=happy,dc=tc,dc=edu,dc=tw" -W uid=t0001,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw

 

  • 請記得留一筆使用者資料, 校端更改密碼服務能成功找到objectClass:posixAccount 屬性值uidNumber 方能讓程式順利運作

 

 

END

你可能感興趣的文章

在docker裡跑spring boot+mongo(二) 使用docker-compose 管理多個container 前篇使用docker run 一次建一個container

批次檢查tls憑證是否過期 tls憑證一年一簽, 台中市有三百多所學校, 寫成一檔案 skaps.tc.edu.tw www.skaps.tc.ed

ubuntu ufw ufw 簡易筆記 原則禁止,例外開放 ufw default deny 啟動ufw sudo ufw enable 關掉

如何檢查網站憑證是否過期 檢查網站憑證

臺中市雲端校務系統與Windows AD帳號整合(7) 設定校端更改密碼程式及執行

使用vbs設定windows 10 靜態IP setting static ip Set Adapter = GetObject("winmgmts:Win

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

centos 7 移机出現 dracut-initqueue timeout centos 7 移机出現 dracut-initqueue timeout 處理

axios vuejs application/x-www-form-urlencoded 送資料 VUE.JS 以 application/x-www-form-urlencoded 送資料

ArrayList 想移除特定值 想移出water, 使用lambda 的方式如下 List<String> fruits = new Arr

臺中市雲端校務系統與Windows AD帳號整合(7) 設定校端更改密碼程式及執行

ArrayList 與 HashMap 範例 public static void main(String[] args) { String titleIds = &