`
fengzgxing
  • 浏览: 242766 次
  • 性别: 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);
}

}
分享到:
评论

相关推荐

    jfinal整合shiro实例

    完整的jFinal整合Shiro实例,部署就可使用!!! 1、Eclipse直接导入,部署到tomcat中 2、新建jfinal_shiro数据库,执行jfinal_shiro.sql 3、修改配置文件中数据库用户名和密码 ~/jfinal_shiro/resource/jfinal....

    jfinal 整合shiro下载即用

    JFinal 是一个基于Java的轻量级Web开发框架,它以简单、实用为设计哲学,...总的来说,JFinal与Shiro的整合能帮助开发者快速构建安全的Web应用,通过简单的配置和API调用,就能实现复杂的权限控制,提升应用的安全性。

    jfinal+shiro整合的一个例子

    3. **JFinal拦截器集成**:利用JFinal的拦截器机制,我们可以将Shiro的过滤器链集成到JFinal的路由中,实现权限控制。拦截器可以检查用户是否已经登录,未登录的用户会被重定向到登录页面。 4. **Shiro的认证与授权...

    jfinal+shiro简单的整合

    《JFinal与Shiro的简单整合详解》 在Web开发领域,JFinal和Apache Shiro是两个备受开发者青睐的工具。JFinal是一个基于Java的轻量级MVC框架,以其简洁、高效的特性受到广泛欢迎。而Apache Shiro则是一个强大且易用...

    JFinal2.0整合shiro权限框架,简单好用

    整合JFinal2.0与Shiro的主要目的是在JFinal的Web应用中实现权限控制,主要包括以下几个步骤: - **引入依赖**:在项目的pom.xml文件中添加Shiro的依赖,确保项目可以正确导入Shiro的相关类库。 - **配置Shiro**:...

    jfinal+shiro实例

    2. **创建Realm**: Realm是Shiro获取验证和授权信息的接口,我们需要根据实际的数据库模型创建自定义的Realm。在这个过程中,我们需要实现get Principals(获取用户信息)和doGetAuthenticationInfo(验证用户身份...

    基于JFinal+Shiro+DWZ,数据库采用MySQL的一个简单仓库管理系统

    本文将深入探讨一个使用JFinal、Shiro和DWZ框架,基于MySQL数据库构建的简单仓库管理系统,为读者揭示其背后的技术实现与优势。 首先,JFinal是Java领域的一款轻量级Web开发框架,它的核心理念是"约定优于配置",...

    jfinal-shiro-3.2.0-sources.jar

    JFinal集成Shiro插件,实现登录安全,权限控制等。。。。

    JFinal-Shiro-JDBC-Demo-master.zip_DEMO_jfinal_shiro

    6. **代码实践**:通过分析这个Demo,开发者可以学习到如何在实际项目中结合JFinal和Shiro,实现一个完整的用户认证和授权系统,包括编写相关控制器、模型、配置文件以及与数据库的交互。 总之,JFinal-Shiro-JDBC-...

    jfina_shiro_jfinal+shiro_fromjh1_shiro_

    Shiro 提供角色(Role)和权限(Permission)的概念,通过配置实现细粒度的权限控制。 4. **Shiro 会话管理**:Shiro 可以跨应用管理会话,支持分布式会话,使得用户在不同终端间切换时依然保持登录状态。 5. **...

    jfinal 集成shiro jar包

    jfinal 3.0以上 集成shiro 的jar 包组合,放心下载使用,实测可以完成集成以及权限拦截

    JFinal + shiro+freemarker +bootstrap3 后台基础管理

    JFinal + shiro+freemarker +bootstrap3 后台基础管理 开发说明 1.导入 doc/jfinal-base-admin.sql 2.修改数据库配置文件 src/main/resources/development下example.db.properties文件名为 db.properties 并填写对应...

    jfinal-shiro:jfinal shiro插件

    jfinal shiro plugin 最简单,最灵活的权限框架实现,查看其他插件-&gt; maven 引用 ${jfinal-shiro.version}替换为相应的版本如:0.2 &lt;groupId&gt;cn.dreampie&lt;/groupId&gt; &lt;artifactId&gt;jfinal-shiro ${jfinal-shiro....

    jfinal3.4集成shiro,有建表sql,欢迎jfinal萌新

    集成Shiro后,通常需要创建一些数据库表来存储用户、角色和权限信息。例如: - 用户表(users):存储用户名、密码等信息。 - 角色表(roles):存储角色ID和角色名称。 - 权限表(permissions):存储权限标识...

    基于jfinal+shiro+layui+freemarker等框架和技术结合maven多模块方式构建开发的一款通用内容发布系统

    《构建通用内容发布系统:深度解析jfinal+shiro+layui+freemarker技术栈》 在当前数字化时代,内容发布系统的建设对于企业、组织和个人来说至关重要,它们为信息传播提供了便捷的平台。本文将深入探讨一款基于...

    jfinal+echarts实现饼图(数据库中读取数据)

    总结起来,这个项目展示了如何使用 JFinal 框架与 ECharts 结合,实现从数据库读取数据并以饼图形式展示。这种结合提供了灵活性和高效性,适用于各种数据可视化需求,帮助开发者更好地理解和呈现数据。通过学习和...

    jfinalShiroEasyui

    总结,Jfinal Shiro Easyui的整合实现了从后端数据处理、权限控制到前端UI展示的完整流程,为开发者提供了一套便捷、高效且安全的Web开发解决方案。通过深入理解和实践,可以进一步提升开发效率,打造出满足业务需求...

    jfinal-shiro-freemarker:jfinal shiro 插件 freemarker 标签

    jfinal-shiro-freemarker jfinal shiro plugin freemarker tags,查看其他插件-&gt; maven 引用 ${jfinal-shiro-freemarker.version}替换为相应的版本如:0.2 &lt;groupId&gt;cn.dreampie&lt;/groupId&gt; &lt;artifactId&gt;jfinal-...

    jfinal整合activiti

    标题 "jfinal整合activiti" 暗示我们要讨论的是如何将JFinal,一个轻量级的Java Web开发框架,与Activiti,一个流行的工作流程管理系统,进行集成。这个过程通常涉及设置项目环境、配置依赖、创建模型以及实现业务...

Global site tag (gtag.js) - Google Analytics