[精讚] [會員登入]
777

雲端校務系統與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 的nginx 做另一個container的反向代理 環境 docker 中一container 跑 nginx 對外服務80 port, http://server 另一c

proxmox lxc 救援 今天突然接到一名強者我朋友的臨時求援 他說他把pve 從5.1升到5.2後, kvm的虛擬机器都沒問題 , 但是lxc的

資料表更改為多個primary key, MariaDB [database]> describe TABLENAME; 想由本來是兩個PRIMARY KE

臺中市雲端校務系統與Windows AD帳號整合(2) 安裝Active Directory網域服務

使用expect及 openssl 產生SSL 憑證簽署要求 每年都要製做tls 憑證 二十幾張, 此語法利用expect 產生私錀及憑證請求檔 #!/usr/bin/expect

tc web 問與答 Q. 填報網址 A. https://tiny.cc/tc-web Q. 出現了以下畫面, 怎麼辦 A. 建議瀏覽器開無

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

java-身份証字號驗証 FormatCheck.java public class FormatCheck { private volatile

[vue.js] input event Form-Input-Components-using-Custom-Events

利用maven建立一個可執行的jar檔 利用maven建立一個可執行的jar檔

2018 hoc 掃地機器人 掃地機器人只能打掃沒有障礙物(桌椅、牆壁)的範圍,請寫程式控制機器人打掃餐廳的所有走道, 並在清掃完畢後回到充電器。

臺中市校務雲端系統與Windows AD帳號整合(1) active directory,ldaps,雲端校務系統