Java项目怎么控制权限啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目怎么控制权限啊?相关的知识,希望对你有一定的参考价值。

最好有源码哦

用过滤器实现 ..需要进行web.xml的手工配置,
步骤一般是建一个过滤器,在doFilter这个方法里写验证session 中用户的权限,如果不符,则不能进入你所配置访问的文件夹内所有的JSP页面了..它便会自动重定向到你的指定页,比如登入页等
还有就是配置XML文件了.有多个权限可以配置多个文件夹

下面是配置的代码..
<filter>
<filter-name>AdminFilter</filter-name>
<filter-class>group1.filter.AdminFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AdminFilter</filter-name>
<url-pattern>/affiche/*</url-pattern>
</filter-mapping>
参考技术A XXX项目是以SpringFramework为核心,用主流的技术选型、Pragmatic的编程实践来开发JavaEE企业级应用的。开发环境JDK:JDK . 、UTF- .IOCcontainer:Spring .ORM:Hibernate . .Web:Struts . 、JSP . 、JQuery . /DojoBase . .WebService:基于ApacheCXF . 的JAX-WS/JAXB . 规范,基于Jersey的JAX-RS规范.Security:SpringSecurity . .entity-领域模型层使用SqlFirst的开发模式,先设计数据库,参考DBA的性能意见而不要太片面追求OO化的表结构。然后纯手工编写entity与极少量的JPAannotation(约定大于配置),也可以用hibernate-tools从数据库逆向生成后再作修改。access-资源访问层资源访问层包括对数据库、JMS、外部的WebService等的访问。每个领域对象对应一个DAO类,继承于通用的HibernateDao,所有以该对象为查询主体的HQL语句统一定义于DAO内并提供查询函数.在性能紧要而Hibernate又无法满足要求时,可混合使用JDBCTemplate。service-业务逻辑层Service层有两类对象,一类是领域对象管理类(EntityManager),按领域对象划分,每个Manager类负责管理多个紧密关联的Entity的增删改查及其业务逻辑。一类是业务服务类(Service),按业务脚本划分,可能会访问到多种领域对象与Manager类。用Spring的Transcationannotation定义事务。对于HibernateLazyload的关联对象,在性能要求不高时可使用OpenSessionInViewFilter,否则在Service层完成对象的初始化操作。web-WebMVC层MVC框架使用Struts . 这一老牌传统MVC框架+ConventionPlugin实现零配置文件,每个Action实现一组页面操作。View模板用JSP . ,尽量使用纯html+JSP . EL展示页面。javascript与Ajax使用JQuery或DojoBase。尽量采用CSS框架规范CSS的布局。ws-WebService接口使用Javafirst的开发模式,通过JSR annotation标注WebService接口,用JAXB- . annotation标注Java-XMLMapping。用DTO类实现Entity与外系统的解耦,用WSResult包裹返回结果与返回码,不使用Exception返回错误。对于Restful服务,同样采用JAX-RSannotation标注。security-安全控制使用SpringSecurity的Filter拦截URL,使用SpirngSecurity的taglib拦截页面内容。采用用户-角色-资源三层控制,角色-资源关系定义于XML的简化模式。测试单元测试尽量采用MockObject的方式屏幕所有依赖对象/数据的访问,对于dao层与特别查询与特别数据库操作,采用集成测试连接实际数据库,基于Spring的集成测试Context。功能测试使用selenium测试主要用户故事的主流程及Javascript的效果,使用Jetty嵌入式Web服务器与H 嵌入式数据库,使用DBUnit预备数据,使得整个测试可以快速运行,对测试环境没有太多的依赖。 参考技术B 缺陷限制:
数据库里用户表其中一个属性就是权限
用户名 密码 权限
aa ** 1
bb ** 2
cc ** 3
可以在需要控制权限时对用户对应的权限进行判断
因为在用户输入用户名和密码后
需要通过判断其权限来控制该用户能进行哪些操作
所以你只要对用户表中相应的权限字段进行判断就可以了
我们曾做过个拍卖行的系统是用JAVA 连接ORACLE
就是通过这个对用户进行控制的
参考技术C 用过滤器实现..需要进行web.xml的手工配置,步骤一般是建一个过滤器,在doFilter这个方法里写验证session中用户的权限,如果不符,则不能进入你所配置访问的文件夹内所有的JSP页面了..它便会自动重定向到你的指定页,比如登入页等还有就是配置XML文件了.有多个权限可以配置多个文件夹下面是配置的代码..AdminFiltergroup .filter.AdminFilterAdminFilter/affiche/* 参考技术D 控制权限其实就是控制访问的url,用过滤器或者拦截器,拦截请求过来的url,进行逻辑判断,看看是否放行。也可以集成框架管理,例如spring security 等

如何集成一个第三方报表,权限怎么控制

在了解如何集成前,首先我们得找对易于集成的报表工具,什么样的报表易于集成?

1. 同平台的

比如:java 开发的项目找 java 开发的报表工具

2. 没有复杂系统功能的

因为含有复杂系统功能的报表工具,跟自己的报表门户平台集成会存在冲突,比如:用户管理体系,单点登录等。这时就不能做无缝集成了,只能进行跨系统调用。

如找到易于集成的报表工具后,其操作就相对简单了,比如 java 的,直接将报表应用放进自己的项目中统一管理就可以了,不易于集成的,需要单独部署、处理调用及单点登录,维护起来很麻烦

集成后权限控制同样分为两种情况:

1. 功能级权限管理

与已有系统集成后,报表工具作为项目的一部分可以直接应用系统已有的光鲜管理,无须单独处理。

2. 数据级权限管理。

这个主要是针对不同的机构、角色或具体到人,访问同一张报表时所看到的数据是不同的,一般需要在报表中做处理。

具体如何做权限控制可参考文 润乾报表数据权限控制方案

以上是关于Java项目怎么控制权限啊?的主要内容,如果未能解决你的问题,请参考以下文章

Java多权限如何控制页面功能

如何集成一个第三方报表,权限怎么控制

springboot怎么做统一的权限控制

ORA-123456:TNS:权限被拒 ,安装oracle出现这个错误,怎么解决啊,在线等。。。。。

javaweb 项目的系统权限管理,怎么设计?

怎么设置电脑管理员权限但开机不要验证密码啊