您好,登錄后才能下訂單哦!
利用LDAP服務,使用Spring LDAP,Spring Security實現Web項目用戶認證和簡單的權限控制。實現多系統賬號統一。
1、基于EHR的LDAP用戶信息
LDAP是輕量目錄訪問協議,英文全稱是Lightweight Directory Access Protocol,一般都簡稱為LDAP。LDAP目錄以樹狀的層次結構來存儲數據。如果你對自頂向下的DNS樹或UNIX文件的目錄樹比較熟悉,也就很容易掌LDAP目錄樹這個概念了。就象DNS的主機名那樣,LDAP目錄記錄的標識名(Distinguished Name,簡稱DN)是用來讀取單個記錄,以及回溯到樹的頂部
例如,DN: cn=ZH201506006,ou=大數據平臺研發工程師,ou=大數據平臺部,ou=技術中心,ou=職能,dc=openldap,dc=jw,dc=cn
LDAP中組織結構以及用戶數據是從EHR系統中同步而來,
其中Group,記錄各個角色下的用戶成員
組織結構:
Group信息,AUTHORITY_SYSTEM_ADMIN下有一個member是cn=ZH201506006,ou=大數據平臺研發工程師,ou=大數據平臺部,ou=技術中心,ou=職能,dc=openldap,dc=jw,dc=cn
用戶信息:
2、實現基于LDAP用戶認證
Web項目中實現基于LDAP認證,主要完成以下工作
spring-security.xml,基于spring security的配置文件
ldap.properties ,配置文件spring-security.xml中引用的常量
MyAuthenticationProvider.java 自定義的用戶認證類
AuthoritiesPopulator.java 自定義權限組
代碼以及注釋參考:https://github.com/chocolateBlack/authority-spring-security
3、實現基于Spring Sentry權限控制
Web項目中實現基于Spring Sentry權限控制,主要完成以下工作
在spring-security.xml配置
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled" jsr250-annotations="enabled" />
說明參考:https://vincentmi.gitbooks.io/spring-security-reference-zh/content/4.4_method_security.html
在spring-security.xml中配置
<http security="none" pattern="/login.jsp" />
<http auto-config="true">
<intercept-url pattern="/check" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/admin" access="ROLE_AUTHORITY_SYSTEM_ADMIN"/>
</http>
說明參考:https://vincentmi.gitbooks.io/spring-security-reference-zh/content/4.2_getting_started%20with_security_namespace_configuration.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。