簡體   English   中英

如何設計我的 Spring 程序,以便當用戶登錄時,我可以判斷他們是教職員工、學生還是教職員工?

[英]How can I design my Spring program so that when a user logs in I can tell if they are a Staff member, student or faculty member?

再詳細一點。 就像我說的那樣,我正在構建這個大學管理系統,它將具有用戶身份驗證。 它還將對 web 層的某些部分進行用戶授權,例如,只有學生能夠訪問學生 web 門戶以添加/刪除課程,並且只有教職員工能夠使用教師門戶對學生進行評分並查看他們的當然名單。

這是問題:當有人登錄時(這都是使用 Spring 安全和 Spring MVC 順便說一句)我需要能夠從登錄信息本身判斷這是否是學生、教職員工。 並且查詢每個表直到我找到匹配項似乎是可怕的設計。 每個實體都繼承自一個通用抽象 class 人員,但它們共享的接口非常基本,它們具有用於 ID、名字、姓氏等的 getter 和 setter。 我可以將授權角色存儲在抽象 class 中,這會告訴我這個 Person 實例是員工、學生還是教職員工,然后檢查角色以確定我正在使用的特定子類,但這似乎也是人為的。 有沒有一種直觀和常識性的方法來解決這個問題?

我認為您可以在名為 userType 的實體 class 中創建一個枚舉字段,然后創建一個過濾器 class 來確定對位於 api 層中的函數的訪問,基於 userType。 您可以通過從數據庫中請求它來有效地獲取 userType,並在用戶登錄后將其存儲在服務器上的數據結構(如 HashMap)中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM