java如何设置细密度权限?包括哪些模块内容?

BSO 2020-09-25 16:31:29 java常见问答 7004

随着科学技术水平的不断向前发展,大家对于新兴技术的认知也越来越深刻,新技术的应用也越来越广泛。今天就来为大家介绍java在在线购物模块的使用,详细描述怎么设置细密度权限以及模块的内容,一起来了解一下吧。

一、首先是细粒度的权限设置主要有两种方案:

1:创建一个permission表:class method [module privilegeValue]

2:JDK5的注解

注解的作用实际上等价于xml,起到了一个配置的作用。

项目用的是Struts1和Spring2,这时遇到了问题:

继承Action的类中的方法能被拦截到,而继承DispatchAction的类中的方法不能被拦截到

原因是Spring的bug/动态代理技术的问题

Spring不能对通过反射技术调用的方法应用上通知(advice)

如果没有实现接口的话,Spring使用cglib为action生成一个代理对象,

cglib是通过继承目标类,并非重写所有非final的方法来实现

Spring只会为在本类定义的方法应用通知,但是继承DispatchAction的类的execut方法用的是父类的方法。

他调用的是目标对象的方法,而不是代理对象的方法。

可以通过写一个Permission的Annotation来实现。

二、然后简述一下模块所包含的内容。

1.部门模块

⑴设计实体/数据库表(领域建模/数据库建模)

⑵设计业务bean(DAO层)

有些项目有Service层和DAO层,这样主要是为了解决有多个数据库来源。

一般的项目有service层就够了,不然70%的代码都是重复的。

不管有没有DAO层,事物一定要在业务层打开。

⑶完成相应业务的action/jsp

2.员工模块

a)员工的分页列表

b)员工的添加【ajax校验用户名是否存在】/离职设置/改

3.权限定义与权限组模块

1>对系统的所有功能定义相应的权限。

2>由网管针对不同部门不同员工分配权限组,在分配权限组时,可以选择该组具有的权限

3>把权限组分配给某个员工,这个员工就会具备该组下的所有权限。

4.权限拦截模块A粗粒度(Filter)B细粒度(AOP)

以上就是关于java如何设置细密度权限以及包括哪些模块内容的主要内容了。如果你对java架构师感兴趣,想要了解更多相关知识,敬请关注奇Q工具网。

推荐阅读:

springboot多模块打包详解

Java数组也是一种数据类型,java数组

java中数据字典怎么用?图文详解