之前學習shiro的時候,設定了登入頁面和主頁面(需要登入才能範圍的頁面。)
1 //配置系統公共資源 2 Map<String,String> map = new HashMap<>(); 3 // authc 請求這個資源需要認證和授權 4 map.put("/index", "authc"); 5 //預設認證介面路徑 6 shiroFilterFactoryBean.setLoginUrl(loginUrl); 7 shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
map的第二個引數是什麼含義的?——鑑權。即當前頁面或資源訪問許可權(多個引數用逗號分割)。
https://blog.csdn.net/wan1996my/article/details/95448594/
引數 | 含義 |
anon | 沒有引數,表示可以匿名使用 |
authc | 表示需要認證(登入)才能使用,沒有引數 |
authcBasic | 表示需要Basic認證才能使用,沒有引數 |
logout | 退出logout,第一個參數列示地址,shiro會清除session |
noSessionCreation | |
perms | 多個授權,引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,例如/admins/user/**=perms["user:add:*,user:modify:*"],當有多個引數時必須每個引數都透過才透過,想當於isPermitedAll()方法 |
port | org.apache.shiro.web.filter.authz.PortFilter port[8081],當請求的url的埠不是8081是跳轉到schemal://serverName:8081?queryString,其中schmal是協議http或https等,serverName是你訪問的host,8081是url配置裡port的埠,queryString是你訪問的url裡的?後面的引數。 |
rest | org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter 根據請求的方法,相當於/admins/user/**=perms[user:method] ,其中method為post,get,delete等。 |
roles | org.apache.shiro.web.filter.authz.RolesAuthorizationFilter 引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,當有多個引數時,例如admins/user/**=roles["admin,guest"],每個引數透過才算透過,相當於hasAllRoles()方法 |
ssl | 表示安全的url請求,協議為https |
user | 沒有參數列示必須存在使用者,當登入操作時不做檢查 |
captchaValidate
|
需要驗證碼透過 |