① shiro怎麼進行URL授權
此處說的不很准確 是默認沒有 目前大多在方法上加驗證註解實現 這個功能(因為shiro比spring security更細粒度化)
它雖然有基於url的驗證
http://shiro.apache.org/web.html#Web-webini
/index.html = anon
/user/create = anon
/user/** = authc
/admin/** = authc, roles[administrator]
/rest/** = authc, rest
/remoting/rpc/** = authc, perms["remote:invoke"]
但是如果不改正 如默認如果指定多個角色 是且的關系
/role1ORrole2/** = authc, roles[role1,role2] 且
你可以實現 FilterChainManager 去自定義
https://github.com/exitsoft/exit-web-framework/wiki/apache-shiro%E4%B8%8Espring%E6%95%B4%E5%90%88%E3%80%81%E5%8A%A8%E6%80%81filterChainDefinitions%E3%80%81%E4%BB%A5%E5%8F%8A%E8%AE%A4%E8%AF%81%E3%80%81%E6%8E%88%E6%9D%83
http://rayoo.iteye.com/blog/1838224
② shiro unauthorizerl 怎麼不是當前頁面而是父頁面的
解決方法:
1、mvc
<!-- 定義需要特殊處理的異常,用類名或完全路徑名作為key,異常頁名作為值 -->
<property name="exceptionMappings">
<props>
<prop key="org.apache.shiro.authz.UnauthorizedException">none_authority</prop>
</props>
</property>
2、web.xml
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
原因:
shiro的源代碼ShiroFilterFactoryBean.java
[java] view
plain
private void (Filter filter) {
String unauthorizedUrl = getUnauthorizedUrl();
if (StringUtils.hasText(unauthorizedUrl) && (filter instanceof AuthorizationFilter)) {
AuthorizationFilter authzFilter = (AuthorizationFilter) filter;
//only apply the unauthorizedUrl if they haven't explicitly configured one already:
String existingUnauthorizedUrl = authzFilter.getUnauthorizedUrl();
if (existingUnauthorizedUrl == null) {
authzFilter.setUnauthorizedUrl(unauthorizedUrl);
}
}
}
定義的filter必須滿足filter
instanceof
AuthorizationFilter,只有perms,roles,ssl,rest,port才是屬於AuthorizationFilter,而anon,authcBasic,auchc,user是AuthenticationFilter,所以unauthorizedUrl設置後頁面不跳轉
③ 基於url的許可權控制和使用shiro有什麼不同
沒有URL過濾功能,就是寫死在xml配置文件里,還有好多不能使。
④ shirofilter loginurl可以配置angularjs的路由嗎
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("PreRevDate0", typeof(decimal)));
DataColumn col = new DataColumn();
col.ColumnName = "PreRevDate1";
col.Expression = "ABS(Convert.ToInt32(PreRevDate0))";
col.DataType = typeof(decimal);
dt.Columns.Add(col);
DataRow dr = dt.NewRow();
dr["PreRevDate0"] = -1;
dt.Rows.Add(dr);
⑤ 為什麼jfinal+shiro控制許可權時URL 末尾加/無法攔截
配置的時候,需抄要配置對,或者採用 /**的方式
推薦一套完整的Shiro Demo,免費的。
Shiro介紹文檔:http://www.sojson.com/shiro
Demo已經部署到線上,ShiroDemo:http://shiro.itboy.net
管理員帳號:admin,密碼:sojson.com 如果密碼錯誤,請用sojson。PS:你可以注冊自己的帳號,然後用管理員賦許可權給你自己的帳號,但是,每20分鍾會把數據初始化一次。建議自己下載源碼,讓Demo跑起來,然後跑的更快。
⑥ shiro 許可權控制的url怎麼顯示實際的參數
shiro當然可以根據許可權控制頁面按鈕選擇是否顯示的,有tag可以控制頁面。
⑦ shiro+springmvc集成時,配置loginUrl='login.jsp',但是login.jsp頁面在WEB-INF 目錄下,導致無法顯示
WEB-INF下的文件是無法直接訪問的,我建議你可以把login.jsp放到webapp根目錄下,或者控制器跳轉。
⑧ shiro怎麼進行URL授權
這個具體不知道來怎麼和你描述,你看自看下面的推薦的項目吧。
推薦一套完整的Shiro Demo,免費的。
Shiro介紹文檔:http://www.sojson.com/shiro
Demo已經部署到線上,ShiroDemo:http://shiro.itboy.net
管理員帳號:admin,密碼:sojson.com 如果密碼錯誤,請用sojson。PS:你可以注冊自己的帳號,然後用管理員賦許可權給你自己的帳號,但是,每20分鍾會把數據初始化一次。建議自己下載源碼,讓Demo跑起來,然後跑的更快。
⑨ shiro如何去掉url中的jsessionid
這是因為如果瀏覽器不支持cookie,JSP容器通過在URL中包含jsessionid來達到session的效果。