`
fengzgxing
  • 浏览: 238942 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

jfinal整合shiro权限控制(从数据库读取配置信息)

阅读更多
web.xml 中配置Filter

<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>com.xxx.jfinal.ext.shiro.JfinalShiroFilter</filter-class>
<init-param>
<param-name>loginUrl</param-name>
<param-value>/login</param-value>
</init-param>
<init-param>
<param-name>authc</param-name>
<param-value>/login</param-value>
</init-param>
<init-param>
<param-name>successUrl</param-name>
<param-value>/home</param-value>
</init-param>
<init-param>
<param-name>unauthorizedUrls</param-name>
<param-value>/resources/**,/common/**,/dwz/**</param-value>
</init-param>
</filter>


在Filter中配置相应参数
JfinalShiroFilter.java

public class JfinalShiroFilter extends AbstractShiroFilter
{

@Override
public void init() throws Exception
{
DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(new ShiroDbRealm());
setSecurityManager(dwsm);

JfinalShiroFilterFactory factory = new JfinalShiroFilterFactory();
// factory.setLoginUrl("/login");
factory.setSuccessUrl("/home");
factory.setLoginUrl(filterConfig.getInitParameter("loginUrl"));
//factory.setSuccessUrl(filterConfig.getInitParameter("successUrl"));
Map<String, String> filterChainDefinitionMap = factory.getFilterChainDefinitionMap();
filterChainDefinitionMap.put(filterConfig.getInitParameter("authc"), "authc");
String unauthorizedUrls = filterConfig.getInitParameter("unauthorizedUrls");
for(String unauthorizedurl : unauthorizedUrls.split(",")){
filterChainDefinitionMap.put(unauthorizedurl, "anon");
}
// filterChainDefinitionMap.put("/common/**", "anon");
// filterChainDefinitionMap.put("/dwz/**", "anon");
// filterChainDefinitionMap.put("/users/**", "roles[admin]");
filterChainDefinitionMap.put("/**", "user");
factory.setFilterChainDefinitionMap(filterChainDefinitionMap);

FilterChainManager manager = factory.createFilterChainManager();
PathMatchingFilterChainResolver chainResolver = new PathMatchingFilterChainResolver();
chainResolver.setFilterChainManager(manager);

setFilterChainResolver(chainResolver);
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics